HierarchicalDataTemplate 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示支持 HeaderedItemsControl 的 DataTemplate,例如 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) |