Partager via


DataTemplate.DataType Propriété

Définition

Obtient ou définit le type auquel ce DataTemplate est destiné.

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

Valeur de propriété

La valeur par défaut est null.

Attributs

Remarques

Cette propriété est très similaire à la TargetType propriété de la Style classe . Lorsque vous définissez cette propriété sur le type de données sans spécifier de x:Key, est DataTemplate appliqué automatiquement aux objets de données de ce type. Notez que lorsque vous le faites, est x:Key défini implicitement. Par conséquent, si vous lui attribuez DataTemplate une x:Key valeur, vous substituez l’implicite x:Key et ne DataTemplate sera pas appliqué automatiquement.

Notez également que si vous liez un ContentControl à une collection d’objetsTask, le ContentControl n’utilise pas automatiquement.DataTemplate Cela est dû au fait que la liaison sur un ContentControl a besoin de plus d’informations pour distinguer si vous souhaitez lier à une collection entière ou aux objets individuels. Si votre ContentControl effectue le suivi de la sélection d’un ItemsControl type, vous pouvez définir la Path propriété de la ContentControl liaison sur «/ » pour indiquer que vous êtes intéressé par l’élément actuel. Pour obtenir un exemple, consultez Guide pratique pour lier à une collection et afficher des informations basées sur la sélection. Sinon, vous devez spécifier explicitement le DataTemplate en définissant la ContentTemplate propriété .

La DataType propriété est particulièrement utile lorsque vous avez différents CompositeCollection types d’objets de données.

Si cette propriété cible un élément XML qui ne se trouve pas dans l’espace de noms par défaut, vous devez faire précéder le nom de l’élément par l’espace de noms ou un indicateur d’espace de noms. Pour le code XML exposé via LINQ for XML, l’espace de noms apparaît en accolades, précédées d’une séquence d’échappement d’accolade :

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

Pour le code XML exposé via XPath, le nom de l’élément est précédé d’un désignateur d’espace de noms établi par une instance de XmlNamespaceMapping:

<DataTemplate DataType="mn:Details">  

Utilisation d'attributs XAML

<object DataType="typeName"/>  

Valeurs XAML

typeName
Si le modèle est destiné aux données d’objet, cette propriété contient le nom de type de l’objet de données (sous forme de chaîne). Pour faire référence au nom de type de la classe, utilisez l’extension x:Type Markup. Si le modèle est destiné aux données XML, cette propriété contient le nom de l’élément XML. Consultez les notes de documentation pour plus d’informations sur la spécification d’un espace de noms autre que celui par défaut pour l’élément XML.

S’applique à

Voir aussi