x:Type, extension de balisage

Mise à jour : novembre 2007

Fournit l'objet Type pour le type indiqué.

Utilisation des attributs XAML

<object property="{x:Type prefix:typeNameValue}" .../>

Utilisation des éléments d'objet XAML

<object>
  <object.property>
    <x:Type TypeName="prefix:typeNameValue"/>
  </object.property>
</object>

Valeurs XAML

prefix

Facultatif. Préfixe qui mappe un espace de noms XML non défini par défaut. Souvent, il n'est pas nécessaire de spécifier un préfixe. Consultez les notes.

typeNameValue

Obligatoire. Nom de type pouvant être résolu dans l'espace de noms XML par défaut actuel ou préfixe mappé spécifié si prefix est fourni.

Notes

x:Type est utilisé pour fournir la valeur d'attribut d'une propriété qui prend Type. De nombreuses propriétés qui prennent Type comme valeur peuvent toutefois directement accepter le nom du type (la valeur de chaîne du Name du type). Pour plus d'informations à ce sujet, consultez la documentation sur la propriété en question. x:Type est essentiellement une extension de balisage qui équivaut à un opérateur typeof() dans C# ou à l'opérateur GetType dans Microsoft Visual Basic .NET.

Vous définissez l'espace de noms XML par défaut pour toute page XAML donnée comme attribut sur l'élément racine. En règle générale, l'espace de noms XML par défaut que vous utilisez dans le cadre de la programmation Windows Presentation Foundation (WPF) correspond à l'espace de noms WPF. L'identificateur de cet espace de noms est https://schemas.microsoft.com/winfx/2006/xaml/presentation. La grande majorité des types prévus pour la programmation courante d'applications WPF se trouve dans cet espace de noms. Par conséquent, vous n'avez généralement pas besoin de mapper un préfixe pour obtenir un type en utilisant x:Type. Vous pouvez être amené à mapper un préfixe si vous référencez un type à partir d'un assembly personnalisé ou pour des types qui existent dans un assembly WPF mais qui se trouvent dans un espace de noms CLR non mappé pour faire partie de l'espace de noms WPF à partir de cet assembly. Pour plus d'informations sur les préfixes, les espaces de noms XML et le mappage d'espaces de noms CLR, consultez Espaces de noms XAML et mappage d'espace de noms.

La syntaxe d'attribut est la syntaxe la plus couramment utilisée avec cette extension de balisage. Le jeton de chaîne fourni après la chaîne d'identificateur x:Type est assigné en tant que valeur TypeName de la classe d'extension TypeExtension sous-jacente. La valeur de cet attribut est le Name du type souhaité.

x:Type peut être utilisé dans la syntaxe d'élément objet. Dans ce cas, vous devez spécifier la valeur de la propriété TypeName pour initialiser correctement l'extension.

x:Type peut également être employé dans une utilisation d'attribut en clair qui spécifie la propriété TypeName en tant que paire propriété=valeur :

<object property="{x:Type TypeName=typeNameValue}" .../>

L'utilisation en clair est souvent utile pour les extensions qui comportent plusieurs propriétés définissables ou si certaines propriétés sont facultatives. x:Type ne comportant qu'une seule propriété définissable (obligatoire), cette utilisation en clair n'est pas classique.

Dans l'implémentation de processeur XAML WPF, la gestion de cette extension de balisage est définie par la classe TypeExtension.

x:Type est une extension de balisage. Des extensions de balisage sont généralement implémentées pour éviter que les valeurs d'attribut ne soient autre chose que des valeurs littérales ou des noms de gestionnaire et lorsque l'exigence va plus loin que la définition de convertisseurs de type sur certains types ou propriétés. Toutes les extensions de balisage en XAML utilisent les caractères { et } dans leur syntaxe d'attributs. Cette convention indique au convertisseur XAML que l'extension de balisage doit traiter l'attribut. Pour plus d'informations, consultez Extensions de balisage et XAML.

Voir aussi

Concepts

Application d'un style et création de modèles

Vue d'ensemble du langage XAML

Extensions de balisage et XAML

Référence

Style