HierarchicalDataTemplate 类

定义

表示支持 HeaderedItemsControlDataTemplate,例如 TreeViewItemMenuItem

public ref class HierarchicalDataTemplate : System::Windows::DataTemplate
public class HierarchicalDataTemplate : System.Windows.DataTemplate
type HierarchicalDataTemplate = class
    inherit DataTemplate
Public Class HierarchicalDataTemplate
Inherits DataTemplate
继承

示例

在以下示例中,ListLeagueListLeague 对象的列表。 每个 League 对象都有一个 NameDivision 对象的集合。 每个 Division 都有一个 NameTeam 对象的集合,并且每个 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 类的新实例。

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(比如 ItemTemplateHeaderedItemsControl)上的 MenuItem 属性的 TreeViewItem,以指示如何显示数据层次结构下一级别中的项目。

ItemTemplateSelector

获取或设置要应用于生成的 DataTemplateSelector(比如 ItemTemplateSelectorHeaderedItemsControl)上的 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)

适用于