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:KeyDataTemplate автоматически применяется к объектам данных этого типа. Обратите внимание, что при выполнении x:Key этого задания устанавливается неявно. Таким образом, если назначить это DataTemplate значение, вы переопределяете неявное x:Key x:Key значение и DataTemplate не будет применяться автоматически.

Кроме того, обратите внимание, что если вы привязываются ContentControl к коллекции Task объектов, они ContentControl не используются DataTemplate автоматически. Это связано с тем, что привязка требует ContentControl дополнительных сведений, чтобы определить, требуется ли привязка ко всей коллекции или отдельным объектам. Если вы ContentControl отслеживаете выбор ItemsControl типа, можно задать Path для свойства ContentControl привязки значение "/", чтобы указать, что вас интересует текущий элемент. Пример см. в разделе "Практическое руководство. Привязка к коллекции и отображение сведений на основе выбора". В противном случае необходимо явно ContentTemplate указать DataTemplate свойство.

Это DataType свойство особенно полезно при наличии CompositeCollection различных типов объектов данных.

Если это свойство предназначено для XML-элемента, который не находится в пространстве имен по умолчанию, необходимо предшествовать имени элемента с пространством имен или конструктором пространства имен. Для XML, предоставляемого с помощью LINQ для XML, пространство имен отображается в фигурных скобках перед escape-последовательностью фигурных скобок:

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

Для XML, предоставляемого через XPath, имя элемента предшествует конструктору пространства имен, установленному экземпляром XmlNamespaceMapping:

<DataTemplate DataType="mn:Details">  

Использование атрибута XAML

<object DataType="typeName"/>  

Значения XAML

typeName
Если шаблон предназначен для данных объекта, это свойство содержит имя типа объекта данных (в виде строки). Чтобы ссылаться на имя типа класса, используйте расширение разметки x:Type. Если шаблон предназначен для XML-данных, это свойство содержит имя XML-элемента. Дополнительные сведения об указании пространства имен, не используемого по умолчанию для XML-элемента, см. в примечаниях к документации.

Применяется к

См. также раздел