プログラマーな日々

I'm a Cloud Architect and Developer, and a trainee of the network engineer training course. I have certified by AWS and Cisco (SAA/SOA/DVA/CCNA). I especially have highly motivated to reduce toils.

スタートアップロジックをマークアップ定義で実装する

前回(以下のエントリー)ソースコードで作成したスタートアップロジックをマークアップ定義で実装します。
スタートアップロジックをカプセル化する - プログラマーな日々
Applicationクラスのサブクラスを作成して、スタートアップロジックをカプセル化します。 ...

構成ファイル

  • MyApp.xaml
  • MyApp.xaml.cs
  • HelloWorld.csproj

ソースコード

MainメソッドやRunメソッド呼び出しが記述されていない点に注目です。WPFではこれらの代わりにマークアップを使用できます。

MyApp.xaml
<Application
    x:Class="HelloWorld.MyApp"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
/>
MyApp.xaml.cs
using System;
using System.Windows;

namespace HelloWorld {
    partial class MyApp : Application {
        public MyApp() {
            Window w = new Window();
            w.Title = "Hello World";
            w.Show();
        }
    }
}

アプリ実行