HierarchicalDataTemplate Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.
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) |