XAML (Extensible Application Markup Language)

XAMLとは、ソフトウェアのUIを記述できるマークアップ言語です。XAMLとは 【Extensible Application Markup Language】 - 意味/解説/説明/定義 : IT用語辞典

オブジェクト要素

<StackPanel>
  <Button Content="Click Me" />
</StackPanel>

属性 (プロパティ)

オブジェクト要素のプロパティを指定します。

<Button Foreground="Red" Content="This is a button" />

プロパティ要素

属性の構文では表現できないプロパティを指定します。プロパティ要素の構文は<型名.プロパティ名>として、型名を指定します。

<Button>
  <Button.Foreground>
    <SolidColorBrush Color="Red" />
  </Button.Foreground>
  <Button.Content>
    This is a button
  </Button.Content>
</Button>

コレクション

特定のプロパティがコレクション型を受け取るとき、そのプロパティの子要素として宣言することで、そのコレクションの一部となります。

<LinearGradientBrush>
  <LinearGradientBrush.GradientStops>
    <GradientStop Offset="0.0" Color="Red" />
    <GradientStop Offset="1.0" Color="Blue" />
  </LinearGradientBrush.GradientStops>
</LinearGradientBrush>

コンテンツ プロパティ

クラスのプロパティのうち、1つだけをコンテンツ プロパティとして指定できます。コンテンツ プロパティの値はその要素の子要素を使用して設定でき、プロパティ要素を省略できます。

たとえば、

<Border>
  <Border.Child>
    <TextBox Width="300" />
  </Border.Child>
</Border>

では、BorderのChildがコンテンツ プロパティとして指定されているため、<Border.Child>プロパティ要素を省略して、

<Border>
  <TextBox Width="300" />
</Border>

のように記述できます。

属性 (イベント)

属性の構文はイベントでも使用できます。これはプロパティの代わりにイベントを指定しているだけで、構文はプロパティの場合と同じです。

  • 属性の名前 … イベントの名前
  • 属性の値 … イベントのデリゲートを実装するハンドラの名前
<Button Click="Button_Click" >Click Me!</Button>

WPF (Windows Presentation Foundation)

連載:WPF入門:第2回 WPFとXAMLの関係とは? XAMLの基礎を学ぶ (1/3) - @IT

WPF

参考