HierarchicalDataTemplate Class
[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]
Represents a DataTemplate that supports HeaderedItemsControl, such as TreeViewItem or MenuItem.
System.Windows.Threading.DispatcherObject
System.Windows.FrameworkTemplate
System.Windows.DataTemplate
System.Windows.HierarchicalDataTemplate
Namespace: System.Windows
Assembly: PresentationFramework (in PresentationFramework.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
The HierarchicalDataTemplate type exposes the following members.
| Name | Description | |
|---|---|---|
|
HierarchicalDataTemplate() | Initializes a new instance of the HierarchicalDataTemplate class. |
|
HierarchicalDataTemplate(Object) | Initializes a new instance of the HierarchicalDataTemplate class with the specified type for which the template is intended. |
| Name | Description | |
|---|---|---|
|
AlternationCount | Gets or sets the number of alternating item containers for the child items. |
|
DataTemplateKey | Gets the default key of the DataTemplate. (Inherited from DataTemplate.) |
|
DataType | Gets or sets the type for which this DataTemplate is intended. (Inherited from DataTemplate.) |
|
Dispatcher | Gets the Dispatcher this DispatcherObject is associated with. (Inherited from DispatcherObject.) |
|
HasContent | Gets a value that indicates whether this template has optimized content. (Inherited from FrameworkTemplate.) |
|
IsSealed | Gets a value that indicates whether this object is in an immutable state so it cannot be changed. (Inherited from FrameworkTemplate.) |
|
ItemBindingGroup | Gets or sets the BindingGroup that is copied to each child item. |
|
ItemContainerStyle | Gets or sets the Style that is applied to the item container for each child item. |
|
ItemContainerStyleSelector | Gets or sets custom style-selection logic for a style that can be applied to each item container. |
|
ItemsSource | Gets or sets the binding for this data template, which indicates where to find the collection that represents the next level in the data hierarchy. |
|
ItemStringFormat | Gets or sets a composite string that specifies how to format the items in the next level in the data hierarchy if they are displayed as strings. |
|
ItemTemplate | Gets or sets the DataTemplate to apply to the ItemTemplate property on a generated HeaderedItemsControl (such as a MenuItem or a TreeViewItem), to indicate how to display items from the next level in the data hierarchy. |
|
ItemTemplateSelector | Gets or sets the DataTemplateSelector to apply to the ItemTemplateSelector property on a generated HeaderedItemsControl (such as a MenuItem or a TreeViewItem), to indicate how to select a template to display items from the next level in the data hierarchy. |
|
Resources | Gets or sets the collection of resources that can be used within the scope of this template. (Inherited from FrameworkTemplate.) |
|
Template | Gets or sets a reference to the object that records or plays the XAML nodes for the template when the template is defined or applied by a writer. (Inherited from FrameworkTemplate.) |
|
Triggers | Gets a collection of triggers that apply property values or perform actions based on one or more conditions. (Inherited from DataTemplate.) |
|
VisualTree | Gets or sets the root node of the template. (Inherited from FrameworkTemplate.) |
| Name | Description | |
|---|---|---|
|
CheckAccess | Determines whether the calling thread has access to this DispatcherObject. (Inherited from DispatcherObject.) |
|
Equals(Object) | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) |
|
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
|
FindName | Finds the element associated with the specified name defined within this template. (Inherited from FrameworkTemplate.) |
|
GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
|
GetType | Gets the Type of the current instance. (Inherited from Object.) |
|
LoadContent | Loads the content of the template as an instance of an object and returns the root element of the content. (Inherited from FrameworkTemplate.) |
|
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
|
RegisterName | Registers a new name/object pair into the current name scope. (Inherited from FrameworkTemplate.) |
|
Seal | Locks the template so it cannot be changed. (Inherited from FrameworkTemplate.) |
|
ShouldSerializeResources | Returns a value that indicates whether serialization processes should serialize the value of the Resources property on instances of this class. (Inherited from FrameworkTemplate.) |
|
ShouldSerializeVisualTree | Returns a value that indicates whether serialization processes should serialize the value of the VisualTree property on instances of this class. (Inherited from FrameworkTemplate.) |
|
ToString | Returns a string that represents the current object. (Inherited from Object.) |
|
UnregisterName | Removes a name/object mapping from the XAML namescope. (Inherited from FrameworkTemplate.) |
|
ValidateTemplatedParent | Checks the templated parent against a set of rules. (Inherited from DataTemplate.) |
|
VerifyAccess | Enforces that the calling thread has access to this DispatcherObject. (Inherited from DispatcherObject.) |
| Name | Description | |
|---|---|---|
|
INameScope.FindName | Infrastructure. Returns an object that has the provided identifying name. (Inherited from FrameworkTemplate.) |
|
IQueryAmbient.IsAmbientPropertyAvailable | Queries whether a specified ambient property is available in the current scope. (Inherited from FrameworkTemplate.) |
In the following example, ListLeagueList is a list of League objects. Each League object has a Name and a collection of Division objects. Each Division has a Name and a collection of Team objects, and each Team object has a 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>
The example shows that with the use of HierarchicalDataTemplate, you can easily display list data that contains other lists. The following is a screenshot of the example.
More Code
| How to: Create Simple or Complex TreeViews | This example shows how to create simple or complex TreeView controls. |
| How to: Use SelectedValue, SelectedValuePath, and SelectedItem | This example shows how to use the SelectedValue and SelectedValuePath properties to specify a value for the SelectedItem of a TreeView. |
Windows 8 Release Preview, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 SP2, Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.