Поделиться через


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

Значение свойства

Значение по умолчанию — null.

Атрибуты

Комментарии

Это свойство очень похоже на TargetType свойство Style класса. Если это свойство задано для типа данных без указания значения x:Key, DataTemplate оно автоматически применяется к объектам данных этого типа. Обратите внимание, что при выполнении этого x:Key задания неявно. Поэтому, если вы назначаете этому DataTemplate значение x:Key, то переопределяете неявное x:Key, а DataTemplate не будет применяться автоматически.

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

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

Если это свойство предназначено для XML-элемента, который не находится в пространстве имен по умолчанию, необходимо предшествуть имени элемента с пространством имен или конструктором пространства имен. Для XML, предоставляемого через LINQ for 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-элемента, см. в примечаниях документации.

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

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