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 привязки значение "/
", чтобы указать, что вас интересует текущий элемент. Пример см. в разделе "Практическое руководство. Привязка к коллекции и отображение сведений на основе выбора". В противном случае необходимо явно 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-элемента, см. в примечаниях к документации.