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 визуальной структурой объектов данных.

Подробное обсуждение см. в разделе "Общие сведения о шаблоне данных".

Конструкторы

DataTemplate()

Инициализирует новый экземпляр класса DataTemplate.

DataTemplate(Object)

Инициализирует новый экземпляр класса DataTemplate с заданным свойством DataType.

Свойства

DataTemplateKey

Возвращает ключ по умолчанию шаблона DataTemplate.

DataType

Получает или задает тип, для которого предназначен этот DataTemplate.

Dispatcher

Возвращает объект Dispatcher, с которым связан этот объект DispatcherObject.

(Унаследовано от DispatcherObject)
HasContent

Возвращает значение, указывающее, имеет ли данный шаблон оптимизированное содержимое.

(Унаследовано от FrameworkTemplate)
IsSealed

Возвращает значение, указывающее, находится ли данный объект в неизменяемом состоянии (когда изменить его нельзя).

(Унаследовано от FrameworkTemplate)
Resources

Получает или задает коллекцию ресурсов, которые могут использоваться в области видимости данного шаблона.

(Унаследовано от FrameworkTemplate)
Template

Получает или задает ссылку на объект, который записывающий или воспроизводящий узлы XAML для шаблона при определении или применении шаблона модулем записи.

(Унаследовано от FrameworkTemplate)
Triggers

Возвращает коллекцию триггеров, которые применяют значения свойств или выполняют действия на основе одного или нескольких условий.

VisualTree

Получает или задает корневой узел шаблона.

(Унаследовано от FrameworkTemplate)

Методы

CheckAccess()

Определяет, имеет ли вызывающий поток доступ к этому DispatcherObject.

(Унаследовано от DispatcherObject)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
FindName(String, FrameworkElement)

Находит элемент, связанный с указанным именем, определенным в этом шаблоне.

(Унаследовано от FrameworkTemplate)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
LoadContent()

Загружает содержимое шаблона в виде экземпляра объекта и возвращает корневой элемент содержимого.

(Унаследовано от FrameworkTemplate)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
RegisterName(String, Object)

Регистрирует новую пару имя-объект в текущей области видимости имен.

(Унаследовано от FrameworkTemplate)
Seal()

Блокирует шаблон, предотвращая его изменение.

(Унаследовано от FrameworkTemplate)
ShouldSerializeResources(XamlDesignerSerializationManager)

Возвращает значение, указывающее, должны ли процессы сериализации сериализировать значение свойства Resources для экземпляров этого класса.

(Унаследовано от FrameworkTemplate)
ShouldSerializeVisualTree()

Возвращает значение, указывающее, должны ли процессы сериализации сериализировать значение свойства VisualTree для экземпляров этого класса.

(Унаследовано от FrameworkTemplate)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
UnregisterName(String)

Удаляет из области видимости имен XAML сопоставление имя-объект.

(Унаследовано от FrameworkTemplate)
ValidateTemplatedParent(FrameworkElement)

Проверяет шаблонный родительский элемент по набору правил.

VerifyAccess()

Обеспечивает наличие у вызывающего потока доступ к этому DispatcherObject.

(Унаследовано от DispatcherObject)

Явные реализации интерфейса

INameScope.FindName(String)

Возвращает объект с предоставленным идентифицирующим именем.

(Унаследовано от FrameworkTemplate)
IQueryAmbient.IsAmbientPropertyAvailable(String)

Запрашивает, доступно ли заданное внешнее свойство в текущей области.

(Унаследовано от FrameworkTemplate)

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

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