DataTemplate DataTemplate DataTemplate DataTemplate Class

Definición

Describe la estructura visual de un objeto de datos.Describes the visual structure of a data object.

public ref class DataTemplate : System::Windows::FrameworkTemplate
[System.Windows.Markup.DictionaryKeyProperty("DataTemplateKey")]
public class DataTemplate : System.Windows.FrameworkTemplate
type DataTemplate = class
    inherit FrameworkTemplate
Public Class DataTemplate
Inherits FrameworkTemplate
Herencia
Derivado
Atributos

Ejemplos

En el ejemplo siguiente se muestra cómo crear DataTemplate un insertado.The following example shows how to create a DataTemplate inline. Especifica que cada elemento de datos aparece como tres TextBlock elementos dentro de StackPanel. DataTemplateThe DataTemplate specifies that each data item appears as three TextBlock elements within a StackPanel. En este ejemplo, el objeto de datos es una clase Taskdenominada.In this example, the data object is a class called Task. Tenga en cuenta TextBlock que cada elemento de esta plantilla se enlaza a una propiedad Task de la clase.Note that each TextBlock element in this template is bound to a property of the Task class.

<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 en la sección de recursos para que pueda ser un objeto reutilizable, como en el ejemplo siguiente:It is more common to define a DataTemplate in the resources section so it can be a reusable object, as in the following example:

<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:Now you can use myTaskTemplate as a resource, as in the following example:

<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.For the complete sample, see Introduction to Data Templating Sample.

Comentarios

Utilice DataTemplate para especificar la visualización de los objetos de datos.You use a DataTemplate to specify the visualization of your data objects. DataTemplatelos objetos son especialmente útiles cuando se enlaza un ItemsControl objeto como un ListBox objeto a una colección completa.DataTemplate objects are particularly useful when you are binding an ItemsControl such as a ListBox to an entire collection. Sin instrucciones específicas, ListBox muestra la representación de cadena de los objetos de una colección.Without specific instructions, a ListBox displays the string representation of the objects in a collection. En ese caso, puede utilizar un DataTemplate objeto para definir el aspecto de los objetos de datos.In that case, you can use a DataTemplate to define the appearance of your data objects. El contenido de DataTemplate se convierte en la estructura visual de los objetos de datos.The content of your DataTemplate becomes the visual structure of your data objects.

Para obtener una explicación detallada, vea información general sobre plantillas de datos.For an in-depth discussion, see Data Templating Overview.

Constructores

DataTemplate() DataTemplate() DataTemplate() DataTemplate()

Inicializa una nueva instancia de la clase DataTemplate.Initializes a new instance of the DataTemplate class.

DataTemplate(Object) DataTemplate(Object) DataTemplate(Object) DataTemplate(Object)

Inicializa una nueva instancia de la clase DataTemplate con el valor especificado de la propiedad DataType.Initializes a new instance of the DataTemplate class with the specified DataType property.

Propiedades

DataTemplateKey DataTemplateKey DataTemplateKey DataTemplateKey

Obtiene la clave predeterminada de DataTemplate.Gets the default key of the DataTemplate.

DataType DataType DataType DataType

Obtiene o establece el tipo para el que está pensado este elemento DataTemplate.Gets or sets the type for which this DataTemplate is intended.

Dispatcher Dispatcher Dispatcher Dispatcher

Obtiene el objeto Dispatcher al que está asociado DispatcherObject.Gets the Dispatcher this DispatcherObject is associated with.

(Inherited from DispatcherObject)
HasContent HasContent HasContent HasContent

Obtiene un valor que indica si esta plantilla tiene contenido optimizado.Gets a value that indicates whether this template has optimized content.

(Inherited from FrameworkTemplate)
ISealable.CanSeal ISealable.CanSeal ISealable.CanSeal ISealable.CanSeal Inherited from FrameworkTemplate
ISealable.IsSealed ISealable.IsSealed ISealable.IsSealed ISealable.IsSealed Inherited from FrameworkTemplate
IsSealed IsSealed IsSealed IsSealed

Obtiene un valor que indica si este objeto está en un estado inmutable y, por lo tanto, no se puede cambiar.Gets a value that indicates whether this object is in an immutable state so it cannot be changed.

(Inherited from FrameworkTemplate)
Resources Resources Resources Resources

Obtiene o establece la colección de recursos que se pueden usar en el ámbito de esta plantilla.Gets or sets the collection of resources that can be used within the scope of this template.

(Inherited from FrameworkTemplate)
Template Template Template 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.Gets or sets a reference to the object that records or plays the XAML nodes for the template when the template is defined or applied by a writer.

(Inherited from FrameworkTemplate)
Triggers Triggers Triggers Triggers

Obtiene una colección de desencadenadores que aplican valores de propiedad o realizan acciones basándose en una o varias condiciones.Gets a collection of triggers that apply property values or perform actions based on one or more conditions.

VisualTree VisualTree VisualTree VisualTree

Obtiene o establece el nodo raíz de la plantilla.Gets or sets the root node of the template.

(Inherited from FrameworkTemplate)

Métodos

CheckAccess() CheckAccess() CheckAccess() CheckAccess()

Determina si el subproceso de la llamada tiene acceso a DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
FindName(String, FrameworkElement) FindName(String, FrameworkElement) FindName(String, FrameworkElement) FindName(String, FrameworkElement)

Busca el elemento asociado al nombre especificado que se ha definido en esta plantilla.Finds the element associated with the specified name defined within this template.

(Inherited from FrameworkTemplate)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
LoadContent() LoadContent() LoadContent() LoadContent()

Carga el contenido de la plantilla como una instancia de un objeto y devuelve el elemento raíz del contenido.Loads the content of the template as an instance of an object and returns the root element of the content.

(Inherited from FrameworkTemplate)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
RegisterName(String, Object) RegisterName(String, Object) RegisterName(String, Object) RegisterName(String, Object)

Registra un nuevo par de nombre y objeto en el ámbito de nombres actual.Registers a new name/object pair into the current name scope.

(Inherited from FrameworkTemplate)
Seal() Seal() Seal() Seal()

Bloquea la plantilla de modo que no se pueda modificar.Locks the template so it cannot be changed.

(Inherited from FrameworkTemplate)
ShouldSerializeResources(XamlDesignerSerializationManager) ShouldSerializeResources(XamlDesignerSerializationManager) ShouldSerializeResources(XamlDesignerSerializationManager) 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.Returns a value that indicates whether serialization processes should serialize the value of the Resources property on instances of this class.

(Inherited from FrameworkTemplate)
ShouldSerializeVisualTree() ShouldSerializeVisualTree() ShouldSerializeVisualTree() 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.Returns a value that indicates whether serialization processes should serialize the value of the VisualTree property on instances of this class.

(Inherited from FrameworkTemplate)
ToString() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)
UnregisterName(String) UnregisterName(String) UnregisterName(String) UnregisterName(String)

Quita una asignación de nombre y objeto del ámbito de nombres XAML.Removes a name/object mapping from the XAML namescope.

(Inherited from FrameworkTemplate)
ValidateTemplatedParent(FrameworkElement) ValidateTemplatedParent(FrameworkElement) ValidateTemplatedParent(FrameworkElement) ValidateTemplatedParent(FrameworkElement)

Comprueba el elemento primario con plantilla mediante un conjunto de reglas.Checks the templated parent against a set of rules.

VerifyAccess() VerifyAccess() VerifyAccess() VerifyAccess()

Exige que el subproceso de la llamada tenga acceso a DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)

Implementaciones de interfaz explícitas

INameScope.FindName(String) INameScope.FindName(String) INameScope.FindName(String) INameScope.FindName(String)

Devuelve un objeto que tiene el nombre de identificación proporcionado.Returns an object that has the provided identifying name.

(Inherited from FrameworkTemplate)
IQueryAmbient.IsAmbientPropertyAvailable(String) IQueryAmbient.IsAmbientPropertyAvailable(String) IQueryAmbient.IsAmbientPropertyAvailable(String) IQueryAmbient.IsAmbientPropertyAvailable(String)

Consulta si la propiedad de ambiente especificada está disponible en el ámbito actual.Queries whether a specified ambient property is available in the current scope.

(Inherited from FrameworkTemplate)
ISealable.Seal() ISealable.Seal() ISealable.Seal() ISealable.Seal() Inherited from FrameworkTemplate

Se aplica a

Consulte también: