DataTemplate.DataType 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置此 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
属性值
默认值是 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 元素指定非默认命名空间的详细信息,请参阅文档说明。