DataTemplate.DataType DataTemplate.DataType DataTemplate.DataType DataTemplate.DataType Property

定義

この DataTemplate が対象としている型を取得または設定します。Gets or sets the type for which this DataTemplate is intended.

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

プロパティ値

既定値は null です。The default value is null.

注釈

このプロパティは、 TargetType Styleクラスのプロパティによく似ています。This property is very similar to the TargetType property of the Style class. を指定x:Keyせずにこのプロパティをデータ型に設定するとDataTemplate 、その型のデータオブジェクトにが自動的に適用されます。When you set this property to the data type without specifying an x:Key, the DataTemplate gets applied automatically to data objects of that type. を実行すると、 x:Keyが暗黙的に設定されることに注意してください。Note that when you do that the x:Key is set implicitly. DataTemplateしたがって、このx:Key値を割り当てた場合、暗黙的x:KeyなをオーバーライドすることDataTemplateになり、は自動的には適用されません。Therefore, if you assign this DataTemplate an x:Key value, you are overriding the implicit x:Key and the DataTemplate would not be applied automatically.

また、をContentControlオブジェクトTask ContentControlのコレクションにバインドする場合、はDataTemplate自動的にを使用しないことに注意してください。Also note that if you are binding a ContentControl to a collection of Task objects, the ContentControl does not use the DataTemplate automatically. これは、のバインディングContentControlによって、コレクション全体と個々のオブジェクトのどちらにバインドするかを区別するために、より多くの情報が必要になるためです。This is because the binding on a ContentControl needs more information to distinguish whether you want to bind to an entire collection or the individual objects. ContentControl / ContentControl Path型の選択を追跡している場合は、バインディングのプロパティを "" に設定して、現在の項目に関心があることを示すことができます。 ItemsControlIf your ContentControl is tracking the selection of an ItemsControl type, you can set the Path property of the ContentControl binding to "/" to indicate that you are interested in the current item. 例については、「方法: コレクションにバインドし、選択内容に基づいて情報を表示します。For an example, see How to: Bind to a Collection and Display Information Based on Selection. それ以外の場合は、 DataTemplate ContentTemplateプロパティを設定して明示的にを指定する必要があります。Otherwise, you need to specify the DataTemplate explicitly by setting the ContentTemplate property.

プロパティは、 CompositeCollectionさまざまな種類のデータオブジェクトがある場合に特に便利です。 DataTypeThe DataType property is particularly useful when you have a CompositeCollection of different types of data objects.

このプロパティが既定の名前空間に含まれていない XML 要素を対象としている場合は、要素名の前に名前空間または名前空間指定子を指定する必要があります。If this property targets an XML element that is not in the default namespace, you must precede the element name with the namespace or a namespace designator. LINQ for XML によって公開されている XML の場合、名前空間は中かっこで囲まれ、前に中かっこのエスケープシーケンスが使用されます。For XML exposed through LINQ for XML, the namespace appears in braces, preceded by a brace escape sequence:

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

XPath を通じて公開される XML では、要素名の前に、のXmlNamespaceMappingインスタンスによって確立された名前空間の指定子があります。For XML exposed through XPath, the element name is preceded by a namespace designator established by an instance of XmlNamespaceMapping:

<DataTemplate DataType="mn:Details">  

XAML 属性の使用方法XAML Attribute Usage

<object DataType="typeName"/>  

XAML 値XAML Values

typeNametypeName
テンプレートがオブジェクトデータを対象としている場合、このプロパティには、(文字列としての) データオブジェクトの型名が含まれます。If the template is intended for object data, this property contains the type name of the data object (as a string). クラスの型名を参照するには、 X:Type マークアップ拡張機能を使用します。To refer to the type name of the class, use the x:Type Markup Extension. テンプレートがデータをXMLXML対象としている場合、このプロパティには XML 要素名が格納されます。If the template is intended for XMLXML data, this property contains the XML element name. XML 要素に既定以外の名前空間を指定する方法の詳細については、ドキュメントの解説を参照してください。See the documentation remarks for details about specifying a non-default namespace for the XML element.

適用対象

こちらもご覧ください