2009-02-22 14 views
5

私はWPFについて学ぶことと混同しています。 ControlTemplateは、リストボックス内の各項目の見た目を判断するために使用されます。 ItemTemplateがリストボックスでどのように使われているのでしょうか?違いはなんですか?ItemTemplateとControlTemplate

+0

関連度:[スタイルとコントロールテンプレートの違い](http://stackoverflow.com/questions/6136200/difference-between-style-and-controltemplate) – Helen

答えて

10

AのControlTemplateを使用すると、の、既存のコントロールの外観&フィールを変更例えば、通常の日常のボタンはVistaのタスクバー光沢のあるガラスボタンのように見えるようまたはタブを作ってみようコントロールは新しいOffice 2007リボンのように見えます。

コントロールには振る舞いだけが含まれており、ControlTemplateには外観が含まれています。&感触 - ボタンは「クリックするだけのもの」ではなく、「クリックできる3D効果のある矩形」です。

リストボックスのコントロールテンプレートを置き換えることで、角が丸いリストボックスやカスタムスクロールバーなどを取得できます。

DataTemplateは、リストボックス(および他の同様のコントロール)内にデータ行を表示する方法を制御します。データテンプレートは、「姓をカンマとファーストネーム以外で表示する」、および姓が太字で、最初の名前がA "で始まる場合は緑色でなければなりません。

リストボックスの内部レイアウトを変更するために使用されるItemsPanelTemplateクラスもあります。Charles PetzoldのWPFブックには、通常のリストボックスにアイテムを円で表示するための例があります。

3

ItemTemplateは、リストボックスにデータアイテムをレンダリングする方法を説明します(たとえば、ListBoxをListにバインドすると、ItemTemplateによってFooのレンダリング方法を指定できます)。 ItemTemplateはDataTemplateです。

A ControlTemplateのはリストボックス自体が

をレンダリングする方法を説明し
+2

ItemTemplateは、DataTemplate – Felix