HierarchicalDataTemplate Clase

Definición

Representa un DataTemplate que admite HeaderedItemsControl, como 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
Herencia

Ejemplos

En el ejemplo siguiente, ListLeagueList es una lista de League objetos . Cada League objeto tiene una Name y una colección de Division objetos. Cada Division tiene un Name objeto y una colección de Team objetos, y cada Team objeto tiene 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>

El ejemplo muestra que con el uso de HierarchicalDataTemplate, puede mostrar fácilmente datos de lista que contienen otras listas. A continuación se muestra una captura de pantalla del ejemplo.

Captura de pantalla de ejemplo JerárquicoDataTemplate de ejemplo JerárquicaDataTemplate

Constructores

Nombre Description
HierarchicalDataTemplate()

Inicializa una nueva instancia de la clase HierarchicalDataTemplate.

HierarchicalDataTemplate(Object)

Inicializa una nueva instancia de la HierarchicalDataTemplate clase con el tipo especificado para el que se pretende la plantilla.

Propiedades

Nombre Description
AlternationCount

Obtiene o establece el número de contenedores de elementos alternativos para los elementos secundarios.

DataTemplateKey

Obtiene la clave predeterminada de DataTemplate.

(Heredado de DataTemplate)
DataType

Obtiene o establece el tipo para el que se pretende.DataTemplate

(Heredado de DataTemplate)
Dispatcher

Obtiene el objeto al que DispatcherDispatcherObject está asociado.

(Heredado de DispatcherObject)
HasContent

Obtiene un valor que indica si esta plantilla tiene contenido optimizado.

(Heredado de FrameworkTemplate)
IsSealed

Obtiene un valor que indica si este objeto está en un estado inmutable para que no se pueda cambiar.

(Heredado de FrameworkTemplate)
ItemBindingGroup

Obtiene o establece el BindingGroup objeto que se copia en cada elemento secundario.

ItemContainerStyle

Obtiene o establece el Style objeto que se aplica al contenedor de elementos para cada elemento secundario.

ItemContainerStyleSelector

Obtiene o establece la lógica de selección de estilo personalizada para un estilo que se puede aplicar a cada contenedor de elementos.

ItemsSource

Obtiene o establece el enlace de esta plantilla de datos, que indica dónde buscar la colección que representa el siguiente nivel en la jerarquía de datos.

ItemStringFormat

Obtiene o establece una cadena compuesta que especifica cómo dar formato a los elementos en el siguiente nivel de la jerarquía de datos si se muestran como cadenas.

ItemTemplate

Obtiene o establece el objeto DataTemplate que se va a aplicar a la ItemTemplate propiedad en un generado HeaderedItemsControl (como o MenuItem ), TreeViewItempara indicar cómo mostrar elementos del siguiente nivel en la jerarquía de datos.

ItemTemplateSelector

Obtiene o establece el objeto DataTemplateSelector que se va a aplicar a la ItemTemplateSelector propiedad en un generado HeaderedItemsControl (como o MenuItem ), TreeViewItempara indicar cómo seleccionar una plantilla para mostrar elementos del siguiente nivel en la jerarquía de datos.

Resources

Obtiene o establece la colección de recursos que se pueden usar dentro del ámbito de esta plantilla.

(Heredado de FrameworkTemplate)
Template

Obtiene o establece una referencia al objeto que registra o reproduce los nodos XAML de la plantilla cuando un escritor define o aplica la plantilla.

(Heredado de FrameworkTemplate)
Triggers

Obtiene una colección de desencadenadores que aplican valores de propiedad o realizan acciones basadas en una o varias condiciones.

(Heredado de DataTemplate)
VisualTree

Obtiene o establece el nodo raíz de la plantilla.

(Heredado de FrameworkTemplate)

Métodos

Nombre Description
CheckAccess()

Determina si el subproceso que llama tiene acceso a este DispatcherObject.

(Heredado de DispatcherObject)
Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
FindName(String, FrameworkElement)

Busca el elemento asociado al nombre especificado definido en esta plantilla.

(Heredado de FrameworkTemplate)
GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
LoadContent()

Carga el contenido de la plantilla como una instancia de un objeto y devuelve el elemento raíz del contenido.

(Heredado de FrameworkTemplate)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
RegisterName(String, Object)

Registra un nuevo par nombre/objeto en el ámbito de nombre actual.

(Heredado de FrameworkTemplate)
Seal()

Bloquea la plantilla para que no se pueda cambiar.

(Heredado de FrameworkTemplate)
ShouldSerializeResources(XamlDesignerSerializationManager)

Devuelve un valor que indica si los procesos de serialización deben serializar el valor de la Resources propiedad en instancias de esta clase.

(Heredado de FrameworkTemplate)
ShouldSerializeVisualTree()

Devuelve un valor que indica si los procesos de serialización deben serializar el valor de la VisualTree propiedad en instancias de esta clase.

(Heredado de FrameworkTemplate)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
UnregisterName(String)

Quita una asignación de nombre o objeto del ámbito de nombres XAML.

(Heredado de FrameworkTemplate)
ValidateTemplatedParent(FrameworkElement)

Comprueba el elemento primario con plantilla en un conjunto de reglas.

(Heredado de DataTemplate)
VerifyAccess()

Exige que el subproceso de llamada tenga acceso a este DispatcherObject.

(Heredado de DispatcherObject)

Implementaciones de interfaz explícitas

Nombre Description
INameScope.FindName(String)

Devuelve un objeto que tiene el nombre de identificación proporcionado.

(Heredado de FrameworkTemplate)
IQueryAmbient.IsAmbientPropertyAvailable(String)

Consulta si una propiedad ambiente especificada está disponible en el ámbito actual.

(Heredado de FrameworkTemplate)

Se aplica a