DataTemplate クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
データ オブジェクトのビジュアル構造を記述します。
public ref class DataTemplate : System::Windows::FrameworkTemplate
[System.Windows.Markup.DictionaryKeyProperty("DataTemplateKey")]
public class DataTemplate : System.Windows.FrameworkTemplate
[<System.Windows.Markup.DictionaryKeyProperty("DataTemplateKey")>]
type DataTemplate = class
inherit FrameworkTemplate
Public Class DataTemplate
Inherits FrameworkTemplate
- 継承
- 派生
- 属性
例
次の例は、インラインを作成する方法を DataTemplate 示しています。 各DataTemplateデータ項目が内StackPanelの 3 つのTextBlock要素として表示されることを指定します。 この例では、データ オブジェクトは呼び出された Task
クラスです。 このテンプレートの各 TextBlock 要素は、クラスの Task
プロパティにバインドされることに注意してください。
<ListBox Width="400" Margin="10"
ItemsSource="{Binding Source={StaticResource myTodoList}}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Path=TaskName}" />
<TextBlock Text="{Binding Path=Description}"/>
<TextBlock Text="{Binding Path=Priority}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
次の例のように、再利用可能なオブジェクトになるように resources セクションで定義 DataTemplate する方が一般的です。
<Window.Resources>
<DataTemplate x:Key="myTaskTemplate">
<StackPanel>
<TextBlock Text="{Binding Path=TaskName}" />
<TextBlock Text="{Binding Path=Description}"/>
<TextBlock Text="{Binding Path=Priority}"/>
</StackPanel>
</DataTemplate>
</Window.Resources>
これで、次の例のように、myTaskTemplate
をリソースとして使用できるようになります。
<ListBox Width="400" Margin="10"
ItemsSource="{Binding Source={StaticResource myTodoList}}"
ItemTemplate="{StaticResource myTaskTemplate}"/>
完全なサンプルについては、「Introduction to Data Templating Sample」(データ テンプレート サンプルの概要) をご覧ください。
注釈
a を DataTemplate 使用して、データ オブジェクトの視覚化を指定します。 DataTemplateオブジェクトは、コレクション全体に a などのListBoxオブジェクトをItemsControlバインドする場合に特に便利です。 特定の命令がない場合、 ListBox コレクション内のオブジェクトの文字列表現が表示されます。 その場合は、a DataTemplate を使用して、データ オブジェクトの外観を定義できます。 コンテンツ DataTemplate は、データ オブジェクトの視覚的な構造になります。
詳細については、「 データテンプレートの概要」を参照してください。
コンストラクター
DataTemplate() |
DataTemplate クラスの新しいインスタンスを初期化します。 |
DataTemplate(Object) |
指定した DataTemplate プロパティを使用して、DataType クラスの新しいインスタンスを初期化します。 |
プロパティ
DataTemplateKey |
DataTemplate の既定のキーを取得します。 |
DataType |
この DataTemplate が対象としている型を取得または設定します。 |
Dispatcher |
この Dispatcher が関連付けられている DispatcherObject を取得します。 (継承元 DispatcherObject) |
HasContent |
最適化されたコンテンツがこのテンプレートに含まれているかどうかを示す値を取得します。 (継承元 FrameworkTemplate) |
IsSealed |
このオブジェクトが不変の状態で変更不可能であるかどうかを示す値を取得します。 (継承元 FrameworkTemplate) |
Resources |
このテンプレートのスコープ内で使用できるリソースのコレクションを取得または設定します。 (継承元 FrameworkTemplate) |
Template |
ライターがテンプレートを定義または適用するときに、テンプレートの XAML ノードを記録または再生するオブジェクトへの参照を取得または設定します。 (継承元 FrameworkTemplate) |
Triggers |
プロパティ値を適用するトリガー、または 1 つ以上の条件に基づいてアクションを実行するトリガーのコレクションを取得します。 |
VisualTree |
テンプレートのルート ノードを取得または設定します。 (継承元 FrameworkTemplate) |
メソッド
CheckAccess() |
呼び出し元のスレッドがこの DispatcherObject にアクセスできるかどうかを確認します。 (継承元 DispatcherObject) |
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
FindName(String, FrameworkElement) |
このテンプレート内で定義された、指定した名前に関連付けられている要素を検索します。 (継承元 FrameworkTemplate) |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
LoadContent() |
テンプレートのコンテンツをオブジェクトのインスタンスとして読み込み、コンテンツのルート要素を返します。 (継承元 FrameworkTemplate) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
RegisterName(String, Object) |
現在の名前スコープに新しい名前とオブジェクトのペアを登録します。 (継承元 FrameworkTemplate) |
Seal() |
テンプレートをロックし、変更できないようにします。 (継承元 FrameworkTemplate) |
ShouldSerializeResources(XamlDesignerSerializationManager) |
シリアル化プロセスが、このクラスのインスタンスの Resources プロパティの値をシリアル化する必要があるかどうかを示す値を返します。 (継承元 FrameworkTemplate) |
ShouldSerializeVisualTree() |
シリアル化プロセスが、このクラスのインスタンスの VisualTree プロパティの値をシリアル化する必要があるかどうかを示す値を返します。 (継承元 FrameworkTemplate) |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
UnregisterName(String) |
XAML 名前スコープから名前とオブジェクトのマッピングを削除します。 (継承元 FrameworkTemplate) |
ValidateTemplatedParent(FrameworkElement) |
規則のセットに対してテンプレートが適用される親をチェックします。 |
VerifyAccess() |
呼び出し元のスレッドがこの DispatcherObject にアクセスできるように強制します。 (継承元 DispatcherObject) |
明示的なインターフェイスの実装
INameScope.FindName(String) |
指定された識別名を持つオブジェクトを返します。 (継承元 FrameworkTemplate) |
IQueryAmbient.IsAmbientPropertyAvailable(String) |
指定されたアンビエント プロパティを現在のスコープで使用できるかどうかを照会します。 (継承元 FrameworkTemplate) |