Compartilhar via


HierarchicalDataTemplate Classe

Definição

Representa uma DataTemplate que fornece suporte a HeaderedItemsControl, como TreeViewItem ou MenuItem.

public ref class HierarchicalDataTemplate : System::Windows::DataTemplate
public class HierarchicalDataTemplate : System.Windows.DataTemplate
type HierarchicalDataTemplate = class
    inherit DataTemplate
Public Class HierarchicalDataTemplate
Inherits DataTemplate
Herança

Exemplos

No exemplo a seguir, ListLeagueList é uma lista de objetos League. Cada objeto League tem um Name e uma coleção de objetos Division. Cada Division tem um Name e uma coleção de objetos Team; cada objeto Team tem um 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>

O exemplo mostra que, com o uso de , você pode exibir facilmente dados de HierarchicalDataTemplatelista que contêm outras listas. Segue uma captura de tela do exemplo.

Captura de tela de amostra HierarchicalDataTemplate

Construtores

HierarchicalDataTemplate()

Inicializa uma nova instância da classe HierarchicalDataTemplate.

HierarchicalDataTemplate(Object)

Inicializa uma nova instância da classe HierarchicalDataTemplate com o tipo especificado para o qual o modelo é destinado.

Propriedades

AlternationCount

Obtém ou define o número de contêineres de itens alternados para os itens filhos.

DataTemplateKey

Obtém a chave padrão do DataTemplate.

(Herdado de DataTemplate)
DataType

Obtém ou define o tipo para o qual esse DataTemplate foi projetado.

(Herdado de DataTemplate)
Dispatcher

Obtém o Dispatcher ao qual este DispatcherObject está associado.

(Herdado de DispatcherObject)
HasContent

Obtém um valor que indica se este modelo tem conteúdo otimizado.

(Herdado de FrameworkTemplate)
IsSealed

Obtém um valor que indica se este objeto está em um estado imutável, de modo a não poder ser alterado.

(Herdado de FrameworkTemplate)
ItemBindingGroup

Obtém ou define o BindingGroup que é copiado para cada item filho.

ItemContainerStyle

Obtém ou define o Style aplicado ao contêiner do item para cada item filho.

ItemContainerStyleSelector

Obtém ou define a lógica de seleção de estilo personalizada para um estilo que pode ser aplicada a cada contêiner de item.

ItemsSource

Obtém ou define a associação desse modelo de dados que indica onde encontrar a coleção que representa o próximo nível na hierarquia de dados.

ItemStringFormat

Obtém ou define uma cadeia de caracteres de composição que especifica como formatar os itens no próximo nível na hierarquia de dados se eles são exibidos como cadeias de caracteres.

ItemTemplate

Obtém ou define o DataTemplate a ser aplicado à propriedade ItemTemplate em um HeaderedItemsControl gerado (como um MenuItem ou TreeViewItem), para indicar como exibir itens do próximo nível na hierarquia de dados.

ItemTemplateSelector

Obtém ou define o DataTemplateSelector a ser aplicado à propriedade ItemTemplateSelector em um HeaderedItemsControl gerado (como um MenuItem ou TreeViewItem), para indicar como selecionar um modelo para exibir itens do próximo nível na hierarquia de dados.

Resources

Obtém ou define a coleção de recursos que podem ser usados dentro do escopo desse modelo.

(Herdado de FrameworkTemplate)
Template

Obtém ou define uma referência ao objeto que registra ou reproduz os nós XAML para o modelo quando o modelo é definido ou aplicado por um gravador.

(Herdado de FrameworkTemplate)
Triggers

Obtém uma coleção de gatilhos que aplicam valores de propriedade ou executam ações com base em uma ou mais condições.

(Herdado de DataTemplate)
VisualTree

Obtém ou define o nó raiz do modelo.

(Herdado de FrameworkTemplate)

Métodos

CheckAccess()

Determina se o thread de chamada tem acesso a este DispatcherObject.

(Herdado de DispatcherObject)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
FindName(String, FrameworkElement)

Localiza o elemento associado ao nome especificado definido neste modelo.

(Herdado de FrameworkTemplate)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
LoadContent()

Carrega o conteúdo do modelo como uma instância de um objeto e retorna o elemento raiz do conteúdo.

(Herdado de FrameworkTemplate)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
RegisterName(String, Object)

Registra um novo par nome/objeto dentro do escopo de nome atual.

(Herdado de FrameworkTemplate)
Seal()

Bloqueia o modelo de modo que ele não pode ser alterado.

(Herdado de FrameworkTemplate)
ShouldSerializeResources(XamlDesignerSerializationManager)

Retorna um valor que indica se o processo de serialização deve serializar o valor da propriedade Resources em instâncias desta classe.

(Herdado de FrameworkTemplate)
ShouldSerializeVisualTree()

Retorna um valor que indica se o processo de serialização deve serializar o valor da propriedade VisualTree em instâncias desta classe.

(Herdado de FrameworkTemplate)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
UnregisterName(String)

Remove um mapeamento de nome/objeto do namescope XAML.

(Herdado de FrameworkTemplate)
ValidateTemplatedParent(FrameworkElement)

Verifica o pai modelo em relação a um conjunto de regras.

(Herdado de DataTemplate)
VerifyAccess()

Impõe que o thread de chamada tenha acesso a este DispatcherObject.

(Herdado de DispatcherObject)

Implantações explícitas de interface

INameScope.FindName(String)

Retorna um objeto que tem o nome de identificação fornecido.

(Herdado de FrameworkTemplate)
IQueryAmbient.IsAmbientPropertyAvailable(String)

Consulta se uma propriedade de ambiente especificada está disponível no escopo atual.

(Herdado de FrameworkTemplate)

Aplica-se a