DataTemplate.DataType プロパティ

定義

この DataTemplate が対象としている型を取得または設定します。

public:
 property System::Object ^ DataType { System::Object ^ get(); void set(System::Object ^ value); };
public object DataType { get; set; }
[System.Windows.Markup.Ambient]
public object DataType { get; set; }
member this.DataType : obj with get, set
[<System.Windows.Markup.Ambient>]
member this.DataType : obj with get, set
Public Property DataType As Object

プロパティ値

Object

既定値は null です。

属性

注釈

このプロパティは、クラスの TargetType プロパティと非常によく Style 似ています。 このプロパティを指定 x:Keyせずにデータ型に設定すると、その型の DataTemplate データ オブジェクトに自動的に適用されます。 これを行うと、暗黙的に x:Key 設定されることに注意してください。 したがって、この DataTemplatex:Key 値を割り当てると、暗黙の x:Key がオーバーライドされて、DataTemplate は自動的に適用されなくなります。

また、オブジェクトのTaskコレクションにバインドContentControlする場合は、ContentControl自動的には使用されないことにDataTemplate注意してください。 これは、ContentControl でのバインドが、コレクション全体または個別オブジェクトのどちらにバインドすればいいのかを区別するためにさらに情報を必要とするためです。 ContentControlItemsControl 型の選択が追跡されている場合は、ContentControl バインディングの Path プロパティを "/" に設定して、ユーザーが現在の項目に関心を持っていることを示すことができます。 例については、「 方法: コレクションにバインドし、選択に基づいて情報を表示する」を参照してください。 そうでない場合は、ContentTemplate プロパティを設定することにより、DataTemplate を明示的に指定する必要があります。

異なる型のデータ オブジェクトの CompositeCollection がある場合、DataType プロパティは特に役に立ちます。

このプロパティが既定の名前空間にない XML 要素を対象とする場合は、要素名の前に名前空間または名前空間指定子を付けます。 LINQ for XML を介して公開された XML の場合、名前空間は中かっこで囲み、前に中かっこエスケープ シーケンスが続きます。

<DataTemplate DataType="{}{http://myNamespace}Details">  

XPath を介して公開される XML の場合、要素名の前には、次の XmlNamespaceMappingインスタンスによって確立された名前空間指定子が付きます。

<DataTemplate DataType="mn:Details">  

XAML 属性の使用方法

<object DataType="typeName"/>  

XAML 値

typeName
テンプレートがオブジェクト データを対象としている場合、このプロパティにはデータ オブジェクトの型名 (文字列として) が含まれます。 クラスの型名を参照するには、 x:Type マークアップ拡張を使用します。 テンプレートが XML データを対象としている場合、このプロパティには XML 要素名が含まれます。 XML 要素の既定以外の名前空間の指定の詳細については、ドキュメントの解説を参照してください。

適用対象

こちらもご覧ください