Condividi tramite


HierarchicalDataTemplate Classe

Definizione

Rappresenta un oggetto DataTemplate che supporta HeaderedItemsControl, ad esempio TreeViewItem o MenuItem.

public ref class HierarchicalDataTemplate : System::Windows::DataTemplate
public class HierarchicalDataTemplate : System.Windows.DataTemplate
type HierarchicalDataTemplate = class
    inherit DataTemplate
Public Class HierarchicalDataTemplate
Inherits DataTemplate
Ereditarietà

Esempio

Nell'esempio seguente ListLeagueList è un elenco di oggetti League. Ogni oggetto League ha un Name e una raccolta di oggetti Division. Ogni Division ha un Name e una raccolta di oggetti Team e ogni oggetto Team ha un 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>

L'esempio mostra che con l'uso di , è possibile visualizzare facilmente i dati dell'elenco HierarchicalDataTemplateche contengono altri elenchi. Lo screenshot seguente mostra l'esempio.

Schermata di esempio HierarchicalDataTemplate

Costruttori

HierarchicalDataTemplate()

Inizializza una nuova istanza della classe HierarchicalDataTemplate.

HierarchicalDataTemplate(Object)

Inizializza una nuova istanza della classe HierarchicalDataTemplate con il tipo specificato a cui è destinato il modello.

Proprietà

AlternationCount

Ottiene o imposta il numero di contenitori di elementi alternati per gli elementi figlio.

DataTemplateKey

Ottiene la chiave predefinita di DataTemplate.

(Ereditato da DataTemplate)
DataType

Ottiene o imposta il tipo per cui l'oggetto DataTemplate è destinato.

(Ereditato da DataTemplate)
Dispatcher

Ottiene l'oggetto Dispatcher associato a DispatcherObject.

(Ereditato da DispatcherObject)
HasContent

Ottiene un valore che indica se il contenuto di questo modello è stato ottimizzato.

(Ereditato da FrameworkTemplate)
IsSealed

Ottiene un valore che indica se questo oggetto è in uno stato immutabile e pertanto non può essere modificato.

(Ereditato da FrameworkTemplate)
ItemBindingGroup

Ottiene o imposta l'oggetto BindingGroup copiato in ogni elemento figlio.

ItemContainerStyle

Ottiene o imposta l'oggetto Style applicato al contenitore di elementi per ogni elemento figlio.

ItemContainerStyleSelector

Ottiene o imposta la logica della selezione in base allo stile personalizzata per uno stile che può essere applicato a ogni contenitore di elementi.

ItemsSource

Ottiene o imposta l'associazione per questo modello di dati, che indica dove trovare la raccolta che rappresenta il livello successivo nella gerarchia dei dati.

ItemStringFormat

Ottiene o imposta una stringa composita che specifica come formattare gli elementi nel livello successivo nella gerarchia di dati se vengono visualizzati come stringhe.

ItemTemplate

Ottiene o imposta l'oggetto DataTemplate da applicare alla proprietà ItemTemplate in un oggetto HeaderedItemsControl generato, ad esempio un oggetto MenuItem o TreeViewItem, per indicare come visualizzare gli elementi del livello successivo nella gerarchia dei dati.

ItemTemplateSelector

Ottiene o imposta l'oggetto DataTemplateSelector da applicare alla proprietà ItemTemplateSelector in un oggetto HeaderedItemsControl generato, ad esempio un oggetto MenuItem o TreeViewItem, per indicare come selezionare un modello per visualizzare gli elementi del livello successivo nella gerarchia dei dati.

Resources

Ottiene o imposta l'insieme di risorse che possono essere utilizzate all'interno dell'ambito di questo modello.

(Ereditato da FrameworkTemplate)
Template

Ottiene o imposta un riferimento all'oggetto che registra o riproduce i nodi XAML per il modello quando il modello è definito o è applicato da un writer.

(Ereditato da FrameworkTemplate)
Triggers

Ottiene un insieme di trigger che applicano valori di proprietà o eseguono azioni in base a una o più condizioni.

(Ereditato da DataTemplate)
VisualTree

Ottiene o imposta il nodo radice del modello.

(Ereditato da FrameworkTemplate)

Metodi

CheckAccess()

Determina se il thread chiamante ha accesso a DispatcherObject.

(Ereditato da DispatcherObject)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
FindName(String, FrameworkElement)

Trova l'elemento associato al nome specificato definito all'interno del modello.

(Ereditato da FrameworkTemplate)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
LoadContent()

Carica il contenuto del modello come istanza di un oggetto e restituisce l'elemento radice del contenuto.

(Ereditato da FrameworkTemplate)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
RegisterName(String, Object)

Registra una nuova coppia nome/oggetto nel namescope corrente.

(Ereditato da FrameworkTemplate)
Seal()

Blocca il modello affinché non possa essere modificato.

(Ereditato da FrameworkTemplate)
ShouldSerializeResources(XamlDesignerSerializationManager)

Restituisce un valore che indica se i processi di serializzazione devono serializzare il valore della proprietà Resources sulle istanze di questa classe.

(Ereditato da FrameworkTemplate)
ShouldSerializeVisualTree()

Restituisce un valore che indica se i processi di serializzazione devono serializzare il valore della proprietà VisualTree sulle istanze di questa classe.

(Ereditato da FrameworkTemplate)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
UnregisterName(String)

Rimuove un mapping nome/oggetto dal NameScope XAML.

(Ereditato da FrameworkTemplate)
ValidateTemplatedParent(FrameworkElement)

Controlla il padre basato su modelli rispetto a un insieme di regole.

(Ereditato da DataTemplate)
VerifyAccess()

Impone che il thread chiamante abbia accesso a DispatcherObject.

(Ereditato da DispatcherObject)

Implementazioni dell'interfaccia esplicita

INameScope.FindName(String)

Restituisce un oggetto con il nome identificativo specificato.

(Ereditato da FrameworkTemplate)
IQueryAmbient.IsAmbientPropertyAvailable(String)

Esegue una query per determinare se una proprietà di ambiente specificata è disponibile nell'ambito corrente.

(Ereditato da FrameworkTemplate)

Si applica a