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-элемента, см. в примечаниях документации.