1. ホーム
  2. wpf

[解決済み】WPFのコントロールテンプレートとDataTemplateの違いについて

2022-04-06 21:06:25

質問

とはどのような違いがあるのでしょうか? ControlTemplateDataTemplate をWPFで使うのですか?

解決方法は?

通常、コントロールはそれ自身のためにレンダリングされ、基本的なデータは反映されません。例えば Button ビジネスオブジェクトにバインドされることはなく、純粋にクリックされるためだけに存在します。A ContentControl または ListBox しかし、一般的には、ユーザーにデータを提供するために表示されます。

A DataTemplate したがって、基礎となるデータに視覚的な構造を提供するために使用されます。 ControlTemplate は基本的なデータとは関係なく、単にコントロール自体の視覚的なレイアウトを提供します。

A ControlTemplate は通常 TemplateBinding 式で、コントロール自体のプロパティにバインドバックします。 DataTemplate は標準的なバインディング式を含み、その DataContext (ビジネス/ドメイン・オブジェクトまたはビュー・モデル)。