HierarchicalDataTemplate Класс

Определение

Представляет поддерживаемый DataTemplateHeaderedItemsControl, например 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можно легко отобразить данные списка, содержащие другие списки. Ниже приведен снимок экрана примера.

Пример снимка экрана с примером иерархического снимка Иерархических ДанныхDataTemplate снимок экрана

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

Имя Описание
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 объекта (например, a MenuItem или a 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)

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