DataTemplate Класс
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Описывает визуальную структуру объекта данных.
public ref class DataTemplate : System::Windows::FrameworkTemplate
[System.Windows.Markup.DictionaryKeyProperty("DataTemplateKey")]
public class DataTemplate : System.Windows.FrameworkTemplate
[<System.Windows.Markup.DictionaryKeyProperty("DataTemplateKey")>]
type DataTemplate = class
inherit FrameworkTemplate
Public Class DataTemplate
Inherits FrameworkTemplate
- Наследование
- Производный
- Атрибуты
В следующем примере показано, как создать встроенный DataTemplate код. Указывает DataTemplate , что каждый элемент данных отображается как три TextBlock элемента внутри элемента StackPanel. В этом примере объект данных называется классом Task
. Обратите внимание, что каждый TextBlock элемент в этом шаблоне привязан к свойству Task
класса.
<ListBox Width="400" Margin="10"
ItemsSource="{Binding Source={StaticResource myTodoList}}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Path=TaskName}" />
<TextBlock Text="{Binding Path=Description}"/>
<TextBlock Text="{Binding Path=Priority}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Чаще всего определяется DataTemplate в разделе ресурсов, поэтому он может быть повторно используемым объектом, как показано в следующем примере:
<Window.Resources>
<DataTemplate x:Key="myTaskTemplate">
<StackPanel>
<TextBlock Text="{Binding Path=TaskName}" />
<TextBlock Text="{Binding Path=Description}"/>
<TextBlock Text="{Binding Path=Priority}"/>
</StackPanel>
</DataTemplate>
</Window.Resources>
Теперь вы можете использовать myTaskTemplate
в качестве ресурса, как показано в следующем примере:
<ListBox Width="400" Margin="10"
ItemsSource="{Binding Source={StaticResource myTodoList}}"
ItemTemplate="{StaticResource myTaskTemplate}"/>
Полный пример см. в разделе Вводная часть примера стилизации и использования шаблонов.
Используется для DataTemplate указания визуализации объектов данных. DataTemplate объекты особенно полезны при привязке ItemsControl к целой коллекции, например ListBox к целой коллекции. Без конкретных инструкций ListBox отображается строковое представление объектов в коллекции. В этом случае можно использовать для DataTemplate определения внешнего вида объектов данных. Содержимое становится DataTemplate визуальной структурой объектов данных.
Подробное обсуждение см. в разделе "Общие сведения о шаблоне данных".
Data |
Инициализирует новый экземпляр класса DataTemplate. |
Data |
Инициализирует новый экземпляр класса DataTemplate с заданным свойством DataType. |
Data |
Возвращает ключ по умолчанию шаблона DataTemplate. |
Data |
Получает или задает тип, для которого предназначен этот DataTemplate. |
Dispatcher |
Возвращает объект Dispatcher, с которым связан этот объект DispatcherObject. (Унаследовано от DispatcherObject) |
Has |
Возвращает значение, указывающее, имеет ли данный шаблон оптимизированное содержимое. (Унаследовано от FrameworkTemplate) |
Is |
Возвращает значение, указывающее, находится ли данный объект в неизменяемом состоянии (когда изменить его нельзя). (Унаследовано от FrameworkTemplate) |
Resources |
Получает или задает коллекцию ресурсов, которые могут использоваться в области видимости данного шаблона. (Унаследовано от FrameworkTemplate) |
Template |
Получает или задает ссылку на объект, который записывающий или воспроизводящий узлы XAML для шаблона при определении или применении шаблона модулем записи. (Унаследовано от FrameworkTemplate) |
Triggers |
Возвращает коллекцию триггеров, которые применяют значения свойств или выполняют действия на основе одного или нескольких условий. |
Visual |
Получает или задает корневой узел шаблона. (Унаследовано от FrameworkTemplate) |
Check |
Определяет, имеет ли вызывающий поток доступ к этому DispatcherObject. (Унаследовано от DispatcherObject) |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
Find |
Находит элемент, связанный с указанным именем, определенным в этом шаблоне. (Унаследовано от FrameworkTemplate) |
Get |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
Get |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
Load |
Загружает содержимое шаблона в виде экземпляра объекта и возвращает корневой элемент содержимого. (Унаследовано от FrameworkTemplate) |
Memberwise |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
Register |
Регистрирует новую пару имя-объект в текущей области видимости имен. (Унаследовано от FrameworkTemplate) |
Seal() |
Блокирует шаблон, предотвращая его изменение. (Унаследовано от FrameworkTemplate) |
Should |
Возвращает значение, указывающее, должны ли процессы сериализации сериализировать значение свойства Resources для экземпляров этого класса. (Унаследовано от FrameworkTemplate) |
Should |
Возвращает значение, указывающее, должны ли процессы сериализации сериализировать значение свойства VisualTree для экземпляров этого класса. (Унаследовано от FrameworkTemplate) |
To |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Unregister |
Удаляет из области видимости имен XAML сопоставление имя-объект. (Унаследовано от FrameworkTemplate) |
Validate |
Проверяет шаблонный родительский элемент по набору правил. |
Verify |
Обеспечивает наличие у вызывающего потока доступ к этому DispatcherObject. (Унаследовано от DispatcherObject) |
IName |
Возвращает объект с предоставленным идентифицирующим именем. (Унаследовано от FrameworkTemplate) |
IQuery |
Запрашивает, доступно ли заданное внешнее свойство в текущей области. (Унаследовано от FrameworkTemplate) |
Продукт | Версии |
---|---|
.NET Framework | 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8 |
Windows Desktop | 3.0, 3.1, 5, 6, 7 |