HierarchicalDataTemplate Classe

Definição

Representa um DataTemplate que dá suporte 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, e 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 HierarchicalDataTemplate, você pode exibir facilmente dados de lista que contêm outras listas. Veja a seguir uma captura de tela do exemplo.

Captura de tela de exemplo HierarchicalDataTemplate

Construtores

Nome Description
HierarchicalDataTemplate()

Inicializa uma nova instância da classe HierarchicalDataTemplate.

HierarchicalDataTemplate(Object)

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

Propriedades

Nome Description
AlternationCount

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

DataTemplateKey

Obtém a chave padrão do DataTemplate.

(Herdado de DataTemplate)
DataType

Obtém ou define o tipo para o qual isso DataTemplate se destina.

(Herdado de DataTemplate)
Dispatcher

Obtém o Dispatcher que DispatcherObject está associado.

(Herdado de DispatcherObject)
HasContent

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

(Herdado de FrameworkTemplate)
IsSealed

Obtém um valor que indica se esse objeto está em um estado imutável para que ele não possa 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 que é aplicado ao contêiner de 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 aplicado a cada contêiner de item.

ItemsSource

Obtém ou define a associação para esse 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 composta que especifica como formatar os itens no próximo nível na hierarquia de dados se eles forem exibidos como cadeias de caracteres.

ItemTemplate

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

ItemTemplateSelector

Obtém ou define a DataTemplateSelector aplicação à ItemTemplateSelector propriedade em um gerado HeaderedItemsControl (como um MenuItem ou um 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 no 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

Nome Description
CheckAccess()

Determina se o thread de chamada tem acesso a isso 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 dentro desse 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 Objectatual.

(Herdado de Object)
RegisterName(String, Object)

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

(Herdado de FrameworkTemplate)
Seal()

Bloqueia o modelo para que ele não possa ser alterado.

(Herdado de FrameworkTemplate)
ShouldSerializeResources(XamlDesignerSerializationManager)

Retorna um valor que indica se os processos de serialização devem serializar o valor da Resources propriedade em instâncias dessa classe.

(Herdado de FrameworkTemplate)
ShouldSerializeVisualTree()

Retorna um valor que indica se os processos de serialização devem serializar o valor da VisualTree propriedade em instâncias dessa 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 isso DispatcherObject.

(Herdado de DispatcherObject)

Implantações explícitas de interface

Nome Description
INameScope.FindName(String)

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

(Herdado de FrameworkTemplate)
IQueryAmbient.IsAmbientPropertyAvailable(String)

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

(Herdado de FrameworkTemplate)

Aplica-se a