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(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) |