HierarchicalDataTemplate Класс

Определение

Представляет DataTemplate, поддерживающий HeaderedItemsControl, такой как TreeViewItem или MenuItem.

public ref class HierarchicalDataTemplate : System::Windows::DataTemplate
public class HierarchicalDataTemplate : System.Windows.DataTemplate
type HierarchicalDataTemplate = class
    inherit DataTemplate
Public Class HierarchicalDataTemplate
Inherits DataTemplate
Наследование

Примеры

В следующем примере ListLeagueList является списком объектов League. Каждый объект League содержит Name и коллекцию объектов Division. Каждый Division содержит Name и коллекцию объектов Team, и каждый объект Team содержит Name.

<Window x:Class="SDKSample.Window1"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Title="HierarchicalDataTemplate Sample"
  xmlns:src="clr-namespace:SDKSample">
  <DockPanel>
    <DockPanel.Resources>
      <src:ListLeagueList x:Key="MyList"/>

      <HierarchicalDataTemplate DataType    = "{x:Type src:League}"
                                ItemsSource = "{Binding Path=Divisions}">
        <TextBlock Text="{Binding Path=Name}"/>
      </HierarchicalDataTemplate>

      <HierarchicalDataTemplate DataType    = "{x:Type src:Division}"
                                ItemsSource = "{Binding Path=Teams}">
        <TextBlock Text="{Binding Path=Name}"/>
      </HierarchicalDataTemplate>

      <DataTemplate DataType="{x:Type src:Team}">
        <TextBlock Text="{Binding Path=Name}"/>
      </DataTemplate>
    </DockPanel.Resources>

    <Menu Name="menu1" DockPanel.Dock="Top" Margin="10,10,10,10">
        <MenuItem Header="My Soccer Leagues"
                  ItemsSource="{Binding Source={StaticResource MyList}}" />
    </Menu>

    <TreeView>
      <TreeViewItem ItemsSource="{Binding Source={StaticResource MyList}}" Header="My Soccer Leagues" />
    </TreeView>

  </DockPanel>
</Window>

В примере показано, что с использованием HierarchicalDataTemplateможно легко отображать данные списка, содержащие другие списки. Ниже приведен снимок экрана примера.

Снимок экрана примера HierarchicalDataTemplate

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

HierarchicalDataTemplate()

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

HierarchicalDataTemplate(Object)

Инициализирует новый экземпляр класса HierarchicalDataTemplate с указанным типом, для которого предназначается шаблон.

Свойства

AlternationCount

Возвращает или задает количество чередующихся контейнеров элементов для дочерних элементов.

DataTemplateKey

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

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

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

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

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

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

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

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

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

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

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

ItemContainerStyle

Получает или задает стиль Style, который применяется к контейнеру элемента для каждого дочернего элемента.

ItemContainerStyleSelector

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

ItemsSource

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

ItemStringFormat

Возвращает или задает составную строку, которая определяет форматирование элементов на следующем уровне иерархии данных, если они отображаются как строки.

ItemTemplate

Возвращает или задает DataTemplate для применения к свойству ItemTemplate на сгенерированном HeaderedItemsControl (как MenuItem или TreeViewItem) для определения способа отображения элементов следующего уровня иерархии данных.

ItemTemplateSelector

Возвращает или задает DataTemplateSelector для применения к свойству ItemTemplateSelector на сгенерированном HeaderedItemsControl (как MenuItem или TreeViewItem) для определения способа выбора шаблона отображения элементов следующего уровня иерархии данных.

Resources

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

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

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

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

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

(Унаследовано от DataTemplate)
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)

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

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

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

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

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

INameScope.FindName(String)

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

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

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

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

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