Compartir a través de


DataTemplate Clase

Definición

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)

Se aplica a

Consulte también