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