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

属性

注解

此属性与类的属性Style非常相似TargetType。 如果将此属性设置为数据类型而不指定数据类型 x:Key,则 DataTemplate 会自动将此属性应用于该类型的数据对象。 请注意,执行此操作时,将 x:Key 隐式设置。 因此,如果分配此值DataTemplatex:Key,则重写隐式x:Key应用且DataTemplate不会自动应用。

另请注意,如果要将对象ContentControl集合绑定到对象集合,则ContentControl不会自动使用该DataTemplate集合Task。 这是因为绑定需要 ContentControl 更多信息来区分是要绑定到整个集合还是单个对象。 ContentControl如果跟踪类型的选择ItemsControl,可以将绑定的属性ContentControl设置为Path/”,以指示你对当前项感兴趣。 有关示例,请参阅 How to: Bind to a Collection and Display Information Based Based Selection. 否则,需要通过设置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 元素指定非默认命名空间的详细信息,请参阅文档说明。

适用于

另请参阅