XAMLとは

画面を表示するには、WindowやButtonなどのクラスを生成して、
それらのクラスの関連をつなげて、プロパティを適切に設定しなければならない。
その方法を指示するためのWPF独特の記法。

C#のコードでも同じことができるが、XMLっぽい文法を使うことにより、
階層構造がわかりやすく、機械(Blendなど画面構築用ソフト)に読み込ませやすい。

自己流XAMLの読み方

XAMLを初めてみたときは何をやっているのか読んでもわからない。
なので以下は自己流の理解。間違っているかもしれない。

1.XAMLのタグは基本的にクラスを生成する
たとえば
<Window>
	<TextBlock/>
</Window>
以上のタグは、Windowを生成して、Windowの中にTextBlockを生成する。(※1)

2.ドットでつないだ <クラス名.プロパティ名>は上位のタグのクラスのプロパティをあらわす。
たとえば、
<TextBlock>
	<TextBlock.Text>ABC</TextBlock.Text>
</TextBlock>
2行目は外側のTextBlockのTextプロパティに文字列ABCを入れることをあらわす

たったこの2つの法則だけ。

これに実行時の動作を変化させるクラスが入ることにより、複雑になる
以下、すごくおおざっぱに一言で表すと
<Setter> ・・・プロパティを書き換えるクラス
<Trigger> ・・・イベントなど、タイミングを表すクラス
<Template> ・・・表示要素(ボタンなど)の組み合わせを定義するクラス
<Style> ・・・いくつかのプロパティをまとめて書き換えるためのクラス

※1
正確には、WindowのContentプロパティにTextBlockを入れています。
つまり、以下のように書くのが本来なのですが、Contentは略することができるのです。
<Window>
	<Window.Content>
		<TextBlock/> ・・・以下略
デフォルトプロパティが決められているクラスでは、省略すると、そのプロパティに代入される

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

どなたでも編集できます