Xaml-templates
XAML-テンプレート
テンプレートは、コントロールの全体的な外観と外観を記述します。 各コントロールには、そのコントロールに外観を与えるデフォルトのテンプレートが関連付けられています。
XAMLでは、コントロールの視覚的な動作と視覚的な外観をカスタマイズするときに、独自のテンプレートを簡単に作成できます。 ロジックとテンプレート間の接続は、データバインディングによって実現できます。
スタイルとテンプレートの主な違いは次のとおりです-
- スタイルは、そのコントロールのデフォルトプロパティを持つコントロールの外観のみを変更できます。
- テンプレートを使用すると、スタイルよりもコントロールの多くの部分にアクセスできます。 コントロールの既存の動作と新しい動作の両方を指定することもできます。
最も一般的に使用されるテンプレートには2つのタイプがあります。
- 制御テンプレート
- データテンプレート
制御テンプレート
コントロールテンプレートは、コントロールの視覚的な外観と構造を定義または指定します。 UI要素はすべて、何らかの外観と動作を持っています。たとえば、Buttonには外観と動作があります。 クリックイベントまたはマウスホバーイベントは、クリックアンドホバーに応答して発生する動作であり、コントロールテンプレートによって変更できるボタンのデフォルトの外観もあります。
いくつかのプロパティを持つ2つのボタンが作成される簡単な例をもう一度見てみましょう。 1つは template を使用し、もう1つは default ボタンを使用します。
上記のコードがコンパイルおよび実行されると、次のMainWindowが生成されます-
あなたがカスタムテンプレートを使用してボタンの上にマウスを置くと、次に示すように色も変わります-
データテンプレート
データテンプレートは、データコレクションの外観と構造を定義および指定します。 任意のUI要素でデータのプレゼンテーションをフォーマットおよび定義する柔軟性を提供します。 主に、ComboBox、ListBoxなどのデータ関連のItemコントロールで使用されます。
データテンプレートの簡単な例を見てみましょう。 次のXAMLコードは、データテンプレートとテキストブロックを含むコンボボックスを作成します。
これは、従業員オブジェクトがDataContextに割り当てられているC#の実装です-
これは、EmployeeクラスのC#での実装です-
上記のコードをコンパイルして実行すると、次の出力が生成されます。 コンボボックスが含まれており、コンボボックスをクリックすると、Employeeクラスで作成されたデータのコレクションがコンボボックスアイテムとしてリストされていることがわかります。
上記のコードを実行して試してみることをお勧めします。