Freigeben über


HierarchicalDataTemplate Klasse

Definition

Stellt eine DataTemplate dar, die HeaderedItemsControl unterstützt, z. B. TreeViewItem oder MenuItem.

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

Beispiele

Im folgenden Beispiel ist ListLeagueList eine Liste von League-Objekten. Jedes League-Objekt verfügt über einen Name und eine Auflistung von Division-Objekten. Jede Division verfügt über einen Name und eine Auflistung von Team-Objekten, und TeamTeam-Objekt verfügt über einen 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>

Das Beispiel zeigt, dass Sie mit der Verwendung von HierarchicalDataTemplate, Listendaten, die andere Listen enthalten, ganz einfach anzeigen können. Im Folgenden finden Sie ein Bildschirmfoto des Beispiels.

Bildschirmabbildung für HierarchicalDataTemplate-Beispiel

Konstruktoren

HierarchicalDataTemplate()

Initialisiert eine neue Instanz der HierarchicalDataTemplate-Klasse.

HierarchicalDataTemplate(Object)

Initialisiert eine neue Instanz der HierarchicalDataTemplate-Klasse mit dem angegebenen Typ, für den die Vorlage bestimmt ist.

Eigenschaften

AlternationCount

Ruft die Anzahl der abwechselnden Elementcontainer für die untergeordneten Elemente ab oder legt diese fest.

DataTemplateKey

Ruft den Standardschlüssel der DataTemplate ab.

(Geerbt von DataTemplate)
DataType

Dient zum Abrufen oder Festlegen des Typs, für den diese DataTemplate vorgesehen ist.

(Geerbt von DataTemplate)
Dispatcher

Ruft den Dispatcher ab, der diesem DispatcherObject zugeordnet ist.

(Geerbt von DispatcherObject)
HasContent

Ruft einen Wert ab, der angibt, ob diese Vorlage optimierten Inhalt aufweist.

(Geerbt von FrameworkTemplate)
IsSealed

Ruft einen Wert ab, der angibt, ob sich dieses Objekt in einem unveränderlichen Zustand befindet.

(Geerbt von FrameworkTemplate)
ItemBindingGroup

Ruft die BindingGroup ab, die in die einzelnen untergeordneten Elemente kopiert wird, oder legt diese fest.

ItemContainerStyle

Ruft den Style ab, der auf die Elementcontainer für die einzelnen untergeordneten Elemente angewendet wird, oder legt diesen fest.

ItemContainerStyleSelector

Ruft eine benutzerdefinierte Formatauswahllogik für einen Stil ab, der auf alle Elementcontainer angewendet werden kann, oder legt diese fest.

ItemsSource

Dient zum Abrufen oder Festlegen der Bindung für diese Datenvorlage, wodurch angegeben wird, wo sich die Auflistung befindet, die die nächste Ebene in der Datenhierarchie darstellt.

ItemStringFormat

Ruft eine kombinierte Zeichenfolge ab, die angibt, wie die Elemente auf der nächsten Ebene der Datenhierarchie formatiert werden sollen, wenn diese als Zeichenfolgen angezeigt werden, oder legt diese fest.

ItemTemplate

Ruft die DataTemplate ab, die auf die ItemTemplate-Eigenschaft für ein generiertes HeaderedItemsControl (z. B. ein MenuItem oder ein TreeViewItem) angewendet wird, um anzugeben, wie Elemente der nächsten Ebene in der Datenhierarchie angezeigt werden sollen, oder legt diese fest.

ItemTemplateSelector

Ruft die DataTemplateSelector ab, die auf die ItemTemplateSelector-Eigenschaft für ein generiertes HeaderedItemsControl (z. B. ein MenuItem oder ein TreeViewItem) angewendet wird, um anzugeben, wie eine Vorlage zum Anzeigen von Elementen der nächsten Ebene in der Datenhierarchie ausgewählt werden soll, oder legt diese fest.

Resources

Ruft die Auflistung von Ressourcen ab, die innerhalb des Bereichs dieser Vorlage verwendet werden können, oder legt sie fest.

(Geerbt von FrameworkTemplate)
Template

Ruft einen Verweis auf das Objekt ab, das die XAML-Knoten für die Vorlage aufzeichnet oder wiedergibt, wenn die Vorlage von einem Writer definiert oder angewendet wird, oder legt diesen Verweis fest.

(Geerbt von FrameworkTemplate)
Triggers

Ruft eine Auflistung von Triggern ab, die Eigenschaftswerte anwenden oder Aktionen anhand einer oder mehrerer Bedingungen ausführen.

(Geerbt von DataTemplate)
VisualTree

Ruft den Stammknoten der Vorlage ab oder legt diesen fest.

(Geerbt von FrameworkTemplate)

Methoden

CheckAccess()

Bestimmt, ob der aufrufende Thread auf dieses DispatcherObject zugreifen kann.

(Geerbt von DispatcherObject)
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
FindName(String, FrameworkElement)

Sucht das Element, das dem angegebenen Namen zugeordnet und in dieser Vorlage definiert ist.

(Geerbt von FrameworkTemplate)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
LoadContent()

Lädt den Inhalt der Vorlage als Instanz eines Objekts und gibt das Stammelement des Inhalts zurück.

(Geerbt von FrameworkTemplate)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
RegisterName(String, Object)

Registriert ein neues Name/Objekt-Paar im aktuellen Namescope.

(Geerbt von FrameworkTemplate)
Seal()

Sperrt die Vorlage, damit diese nicht geändert werden kann.

(Geerbt von FrameworkTemplate)
ShouldSerializeResources(XamlDesignerSerializationManager)

Gibt einen Wert zurück, mit dem angegeben wird, ob Serialisierungsprozesse den Wert der Resources-Eigenschaft für Instanzen dieser Klasse serialisieren sollen.

(Geerbt von FrameworkTemplate)
ShouldSerializeVisualTree()

Gibt einen Wert zurück, mit dem angegeben wird, ob Serialisierungsprozesse den Wert der VisualTree-Eigenschaft für Instanzen dieser Klasse serialisieren sollen.

(Geerbt von FrameworkTemplate)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
UnregisterName(String)

Entfernt eine Name/Objekt-Zuordnung aus dem XAML-Namescope.

(Geerbt von FrameworkTemplate)
ValidateTemplatedParent(FrameworkElement)

Vergleicht das auf Vorlagen basierende übergeordnete Element mit einer Reihe von Regeln.

(Geerbt von DataTemplate)
VerifyAccess()

Erzwingt, dass der aufrufende Thread auf dieses DispatcherObject zugreifen kann.

(Geerbt von DispatcherObject)

Explizite Schnittstellenimplementierungen

INameScope.FindName(String)

Gibt ein Objekt zurück, das über den bereitgestellten kennzeichnenden Namen verfügt.

(Geerbt von FrameworkTemplate)
IQueryAmbient.IsAmbientPropertyAvailable(String)

Fragt ab, ob eine angegebene Ambient-Eigenschaft im aktuellen Bereich verfügbar ist.

(Geerbt von FrameworkTemplate)

Gilt für