Compartir vía


DataTemplate.DataType Propiedad

Definición

Obtiene o establece el tipo para el que está pensado este elemento DataTemplate.

public:
 property System::Object ^ DataType { System::Object ^ get(); void set(System::Object ^ value); };
public object DataType { get; set; }
[System.Windows.Markup.Ambient]
public object DataType { get; set; }
member this.DataType : obj with get, set
[<System.Windows.Markup.Ambient>]
member this.DataType : obj with get, set
Public Property DataType As Object

Valor de propiedad

El valor predeterminado es null.

Atributos

Comentarios

Esta propiedad es muy similar a la TargetType propiedad de la Style clase . Al establecer esta propiedad en el tipo de datos sin especificar , x:Keyse DataTemplate aplica automáticamente a los objetos de datos de ese tipo. Tenga en cuenta que, al hacer esto x:Key , se establece implícitamente. Por lo tanto, si asigna un valor x:Key a esta clase DataTemplate, estará invalidando el valor implícito x:Key y DataTemplate no se aplicará de forma automática.

Tenga en cuenta también que si está enlazando un ContentControl objeto a una colección de Task objetos , no ContentControl usa automáticamente DataTemplate . Esto se debe a que el enlace en ContentControl requiere más información para distinguir si se quiere enlazar a toda una colección o a los objetos individuales. Si ContentControl está siguiendo la selección de un tipo ItemsControl, puede establecer la propiedad Path del enlace de ContentControl a "/" para indicar que está interesado en el elemento actual. Para obtener un ejemplo, vea Cómo: Enlazar a una colección y mostrar información basada en la selección. Si no, tendrá que especificar DataTemplate de forma explicita mediante el establecimiento de la propiedad ContentTemplate.

La propiedad DataType es particularmente útil si tiene un CompositeCollection de diferentes tipos de objetos de datos.

Si esta propiedad tiene como destino un elemento XML que no está en el espacio de nombres predeterminado, debe preceder al nombre del elemento con el espacio de nombres o un designador de espacio de nombres. Para XML expuesto a través de LINQ for XML, el espacio de nombres aparece entre llaves, precedido por una secuencia de escape de llaves:

<DataTemplate DataType="{}{http://myNamespace}Details">  

Para XML expuesto a través de XPath, el nombre del elemento está precedido por un designador de espacio de nombres establecido por una instancia de XmlNamespaceMapping:

<DataTemplate DataType="mn:Details">  

Uso de atributos XAML

<object DataType="typeName"/>  

Valores XAML

typeName
Si la plantilla está pensada para los datos de objeto, esta propiedad contiene el nombre de tipo del objeto de datos (como una cadena). Para hacer referencia al nombre de tipo de la clase, use la extensión de marcado x:Type. Si la plantilla está pensada para datos XML, esta propiedad contiene el nombre del elemento XML. Consulte los comentarios de documentación para obtener más información sobre cómo especificar un espacio de nombres no predeterminado para el elemento XML.

Se aplica a

Consulte también