DataTemplate.DataType プロパティ

定義

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

public:
 property System::Object ^ DataType { System::Object ^ get(); void set(System::Object ^ value); };
[System.Windows.Markup.Ambient]
public object DataType { get; set; }
public object DataType { get; set; }
[<System.Windows.Markup.Ambient>]
member this.DataType : obj with get, set
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 は自動的に適用されなくなります。

また、をオブジェクトのコレクションにバインドする場合、は自動的にを使用しないことに注意して ContentControl Task 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 要素に既定以外の名前空間を指定する方法の詳細については、ドキュメントの解説を参照してください。

適用対象

こちらもご覧ください