最終更新:ID:mAmGC2NECQ 2010年08月28日(土) 00:00:49履歴
画面を表示するには、WindowやButtonなどのクラスを生成して、
それらのクラスの関連をつなげて、プロパティを適切に設定しなければならない。
その方法を指示するためのWPF独特の記法。
C#のコードでも同じことができるが、XMLっぽい文法を使うことにより、
階層構造がわかりやすく、機械(Blendなど画面構築用ソフト)に読み込ませやすい。
それらのクラスの関連をつなげて、プロパティを適切に設定しなければならない。
その方法を指示するためのWPF独特の記法。
C#のコードでも同じことができるが、XMLっぽい文法を使うことにより、
階層構造がわかりやすく、機械(Blendなど画面構築用ソフト)に読み込ませやすい。
XAMLを初めてみたときは何をやっているのか読んでもわからない。
なので以下は自己流の理解。間違っているかもしれない。
1.XAMLのタグは基本的にクラスを生成する
たとえば
2.ドットでつないだ <クラス名.プロパティ名>は上位のタグのクラスのプロパティをあらわす。
たとえば、
たったこの2つの法則だけ。
これに実行時の動作を変化させるクラスが入ることにより、複雑になる
以下、すごくおおざっぱに一言で表すと
<Setter> ・・・プロパティを書き換えるクラス
<Trigger> ・・・イベントなど、タイミングを表すクラス
<Template> ・・・表示要素(ボタンなど)の組み合わせを定義するクラス
<Style> ・・・いくつかのプロパティをまとめて書き換えるためのクラス
※1
正確には、WindowのContentプロパティにTextBlockを入れています。
つまり、以下のように書くのが本来なのですが、Contentは略することができるのです。
なので以下は自己流の理解。間違っているかもしれない。
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/> ・・・以下略デフォルトプロパティが決められているクラスでは、省略すると、そのプロパティに代入される
コメントをかく