DataTemplate 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í.
Describe la estructura visual de un objeto de datos.
public ref class DataTemplate : System::Windows::FrameworkTemplate
[System.Windows.Markup.DictionaryKeyProperty("DataTemplateKey")]
public class DataTemplate : System.Windows.FrameworkTemplate
[<System.Windows.Markup.DictionaryKeyProperty("DataTemplateKey")>]
type DataTemplate = class
inherit FrameworkTemplate
Public Class DataTemplate
Inherits FrameworkTemplate
- Herencia
- Derivado
- Atributos
Ejemplos
En el ejemplo siguiente se muestra cómo crear un DataTemplate elemento insertado. DataTemplate especifica que cada elemento de datos aparece como tres TextBlock elementos dentro de .StackPanel En este ejemplo, el objeto de datos es una clase denominada Task
. Tenga en cuenta que cada TextBlock elemento de esta plantilla está enlazado a una propiedad de la Task
clase .
<ListBox Width="400" Margin="10"
ItemsSource="{Binding Source={StaticResource myTodoList}}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Path=TaskName}" />
<TextBlock Text="{Binding Path=Description}"/>
<TextBlock Text="{Binding Path=Priority}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Es más común definir un DataTemplate elemento en la sección de recursos para que pueda ser un objeto reutilizable, como en el ejemplo siguiente:
<Window.Resources>
<DataTemplate x:Key="myTaskTemplate">
<StackPanel>
<TextBlock Text="{Binding Path=TaskName}" />
<TextBlock Text="{Binding Path=Description}"/>
<TextBlock Text="{Binding Path=Priority}"/>
</StackPanel>
</DataTemplate>
</Window.Resources>
Ahora puede usar myTaskTemplate
como recurso, como en el ejemplo siguiente:
<ListBox Width="400" Margin="10"
ItemsSource="{Binding Source={StaticResource myTodoList}}"
ItemTemplate="{StaticResource myTaskTemplate}"/>
Para obtener el ejemplo completo, vea Introducción a la aplicación de plantillas de ejemplo.
Comentarios
Use para DataTemplate especificar la visualización de los objetos de datos. DataTemplate Los objetos son especialmente útiles cuando se enlaza un objeto ItemsControl como a ListBox una colección completa. Sin instrucciones específicas, muestra ListBox la representación de cadena de los objetos de una colección. En ese caso, puede usar un DataTemplate para definir la apariencia de los objetos de datos. El contenido de se DataTemplate convierte en la estructura visual de los objetos de datos.
Para obtener una explicación detallada, consulte Información general sobre plantillas de datos.
Constructores
DataTemplate() |
Inicializa una nueva instancia de la clase DataTemplate. |
DataTemplate(Object) |
Inicializa una nueva instancia de la clase DataTemplate con la propiedad DataType especificada. |
Propiedades
DataTemplateKey |
Obtiene la clave predeterminada de DataTemplate. |
DataType |
Obtiene o establece el tipo para el que está pensado este elemento DataTemplate. |
Dispatcher |
Obtiene el objeto Dispatcher al que está asociado DispatcherObject. (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 y, por lo tanto, no se puede cambiar. (Heredado de FrameworkTemplate) |
Resources |
Obtiene o establece la colección de recursos que se pueden usar en el ámbito de esta plantilla. (Heredado de FrameworkTemplate) |
Template |
Obtiene o establece una referencia al objeto que graba o reproduce los nodos XAML de la plantilla cuando un sistema de escritura define o aplica la plantilla. (Heredado de FrameworkTemplate) |
Triggers |
Obtiene una colección de desencadenadores que aplican valores de propiedad o realizan acciones basándose en una o varias condiciones. |
VisualTree |
Obtiene o establece el nodo raíz de la plantilla. (Heredado de FrameworkTemplate) |
Métodos
CheckAccess() |
Determina si el subproceso de la llamada tiene acceso a DispatcherObject. (Heredado de DispatcherObject) |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
FindName(String, FrameworkElement) |
Busca el elemento asociado con el nombre especificado que se definió en esta plantilla. (Heredado de FrameworkTemplate) |
GetHashCode() |
Sirve como la 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 Object actual. (Heredado de Object) |
RegisterName(String, Object) |
Registra un nuevo par de nombre y objeto en el ámbito de nombres actual. (Heredado de FrameworkTemplate) |
Seal() |
Bloquea la plantilla de modo que no se pueda modificar. (Heredado de FrameworkTemplate) |
ShouldSerializeResources(XamlDesignerSerializationManager) |
Devuelve un valor que indica si los procesos de serialización deben serializar el valor de la propiedad Resources en las 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 propiedad VisualTree en las 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 y objeto del ámbito de nombres XAML. (Heredado de FrameworkTemplate) |
ValidateTemplatedParent(FrameworkElement) |
Comprueba el elemento primario con plantilla mediante un conjunto de reglas. |
VerifyAccess() |
Exige que el subproceso de la llamada tenga acceso a DispatcherObject. (Heredado de DispatcherObject) |
Implementaciones de interfaz explícitas
INameScope.FindName(String) |
Devuelve un objeto que tiene el nombre de identificación proporcionado. (Heredado de FrameworkTemplate) |
IQueryAmbient.IsAmbientPropertyAvailable(String) |
Consulta si la propiedad de ambiente especificada está disponible en el ámbito actual. (Heredado de FrameworkTemplate) |