HierarchicalDataTemplate Classe

Definição

Representa um DataTemplate que suporta 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 League objetos. Cada League objeto tem uma Name e uma coleção de Division objetos. Cada Division tem uma 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 listas que contêm outras listas. A seguir está uma captura de tela do exemplo.

HierarchicalDataTemplate captura de ecrã

Construtores

Name Description
HierarchicalDataTemplate()

Inicializa uma nova instância da HierarchicalDataTemplate classe.

HierarchicalDataTemplate(Object)

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

Propriedades

Name Description
AlternationCount

Obtém ou define o número de recipientes 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 isto DataTemplate se destina.

(Herdado de DataTemplate)
Dispatcher

Percebe o Dispatcher que isto DispatcherObject está associado.

(Herdado de DispatcherObject)
HasContent

Recebe 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á num estado imutável, pelo que não pode 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 contentor de itens para cada item filho.

ItemContainerStyleSelector

Obtém ou define uma lógica de seleção de estilo personalizada para um estilo que pode ser aplicado a cada recipiente de items.

ItemsSource

Obtém ou define a ligação para este 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 composta que especifica como formatar os itens no nível seguinte da hierarquia de dados se forem exibidos como cadeias de caracteres.

ItemTemplate

Obtém ou define o DataTemplate para aplicar à ItemTemplate propriedade em um gerado HeaderedItemsControl (como a MenuItem ou a TreeViewItem), para indicar como mostrar itens do nível seguinte na hierarquia de dados.

ItemTemplateSelector

Obtém ou define o DataTemplateSelector para aplicar à ItemTemplateSelector propriedade em um gerado HeaderedItemsControl (como a MenuItem ou a TreeViewItem), para indicar como selecionar um template para mostrar itens do nível seguinte na hierarquia de dados.

Resources

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

(Herdado de FrameworkTemplate)
Template

Obtém ou define uma referência ao objeto que grava ou reproduz os nós XAML do template quando o template é definido ou aplicado por um escritor.

(Herdado de FrameworkTemplate)
Triggers

Recebe um conjunto de gatilhos que aplicam valores de propriedade ou realizam ações baseadas numa ou mais condições.

(Herdado de DataTemplate)
VisualTree

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

(Herdado de FrameworkTemplate)

Métodos

Name Description
CheckAccess()

Determina se o thread que chama 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)

Encontra o elemento associado ao nome especificado definido neste modelo.

(Herdado de FrameworkTemplate)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
LoadContent()

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

(Herdado de FrameworkTemplate)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
RegisterName(String, Object)

Regista um novo par nome/objeto no âmbito de nomes atual.

(Herdado de FrameworkTemplate)
Seal()

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

(Herdado de FrameworkTemplate)
ShouldSerializeResources(XamlDesignerSerializationManager)

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

(Herdado de FrameworkTemplate)
ShouldSerializeVisualTree()

Devolve um valor que indica se os processos de serialização devem serializar o valor da VisualTree propriedade em instâncias desta classe.

(Herdado de FrameworkTemplate)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)
UnregisterName(String)

Remove um mapeamento nome/objeto do namescope XAML.

(Herdado de FrameworkTemplate)
ValidateTemplatedParent(FrameworkElement)

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

(Herdado de DataTemplate)
VerifyAccess()

Faz cumprir que o thread que chama tem acesso a este DispatcherObject.

(Herdado de DispatcherObject)

Implementações de Interface Explícita

Name Description
INameScope.FindName(String)

Devolve um objeto que tem o nome identificativo fornecido.

(Herdado de FrameworkTemplate)
IQueryAmbient.IsAmbientPropertyAvailable(String)

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

(Herdado de FrameworkTemplate)

Aplica-se a