x:Class, directive

Configure la compilation de balisage XAML pour joindre des classes partielles entre le balisage et le code-behind. La classe partielle de code est définie dans un fichier de code distinct dans un langage CLS (Common Language Specification), tandis que la classe partielle de balisage est généralement créée par la génération de code pendant la compilation XAML.

Utilisation d'attributs XAML

<object x:Class="namespace.classname"...>
  ...
</object>

Valeurs XAML

Valeur Description
namespace facultatif. Spécifie un espace de noms CLR qui contient la classe partielle identifiée par classname. Si namespace elle est spécifiée, un point (.) sépare namespace et classname. Consultez la section Notes.
classname Obligatoire. Spécifie le nom CLR de la classe partielle qui connecte le code XAML chargé et votre code-behind pour ce code XAML.

Dépendances

x:Class ne peut être spécifié que sur l’élément racine d’une production XAML. x:Class n’est pas valide sur tout objet qui a un parent dans la production XAML. Pour plus d’informations, consultez [MS-XAML] Section 6.3.1.6.

Notes

La namespace valeur peut contenir des points supplémentaires pour organiser les espaces de noms associés en hiérarchies de noms, qui est une technique courante dans la programmation .NET. Seul le dernier point d’une chaîne de x:Class valeurs est interprété pour séparer namespace et classname. la classe utilisée comme x:Class ne peut pas être une classe imbriquée. Les classes imbriquées ne sont pas autorisées, car la détermination de la signification des points pour x:Class les chaînes est ambiguë si les classes imbriquées sont autorisées.

Dans les modèles de programmation existants qui utilisent x:Class, x:Class est facultatif dans le sens où il est entièrement valide pour avoir une page XAML qui n’a pas de code-behind. Toutefois, cette fonctionnalité interagit avec les actions de génération comme implémentées par les frameworks qui utilisent XAML. x:Class la fonctionnalité est également influencée par les rôles que les différentes classifications du contenu spécifié par XAML ont dans un modèle d’application et dans les actions de génération correspondantes. Si votre code XAML déclare des valeurs d’attribut de gestion des événements ou instancie des éléments personnalisés où les classes de définition se trouvent dans la classe code-behind, vous devez fournir la x:Class référence de directive (ou x :Subclasse) à la classe appropriée pour code-behind.

La valeur de la x:Class directive doit être une chaîne qui spécifie le nom complet d’une classe, mais sans aucune information d’assembly (équivalente à celle-ci Type.FullName). Pour les applications simples, vous pouvez omettre les informations d’espace de noms CLR si le code-behind est également structuré de cette manière (la définition de code commence au niveau de la classe).

Le fichier code-behind d’une page ou d’une définition d’application doit se trouver dans un fichier de code inclus dans le cadre du projet qui produit une application compilée et implique la compilation de balisage. Vous devez suivre les règles de nom pour les classes CLR. Pour plus d’informations, consultez Recommandations en matière de conception d’infrastructure. Par défaut, la classe code-behind doit être public; toutefois, vous pouvez la définir à un niveau d’accès différent à l’aide de la directive x :ClassModifier.

Cette interprétation de l’attribut x:Class s’applique uniquement à une implémentation XAML basée sur CLR, en particulier aux services XAML .NET. D’autres implémentations XAML qui ne sont pas basées sur CLR et qui n’utilisent pas les services XAML .NET peuvent utiliser une formule de résolution différente pour connecter le balisage XAML et le code d’exécution de stockage. Pour plus d’informations sur les interprétations plus générales de x:Class, consultez [MS-XAML].

À un certain niveau d’architecture, la signification n’est x:Class pas définie dans les services XAML .NET. Cela est dû au fait que les services XAML .NET ne spécifient pas le modèle de programmation par lequel le balisage XAML et le code de stockage sont connectés. Des utilisations supplémentaires de la x:Class directive peuvent être implémentées par des frameworks spécifiques qui utilisent des modèles de programmation ou des modèles d’application pour définir comment connecter le balisage XAML et le code-behind basé sur CLR. Chaque infrastructure peut avoir ses propres actions de génération qui permettent un certain comportement ou des composants spécifiques qui doivent être inclus dans l’environnement de génération. Dans une infrastructure, les actions de génération peuvent également varier en fonction du langage CLR spécifique utilisé pour le code-behind.

x :Class dans le modèle de programmation WPF

Dans les applications WPF et le modèle d’application WPF, x:Class peuvent être déclarés en tant qu’attribut pour n’importe quel élément qui est la racine d’un fichier XAML et qui est compilé (où le code XAML est inclus dans un projet d’application WPF avec Page action de génération) ou pour la Application racine dans la définition d’application d’une application WPF compilée. La déclaration x:Class sur un élément autre qu’une racine de page ou une racine d’application, ou sur un fichier XAML WPF qui n’est pas compilé, provoque une erreur au moment de la compilation sous le compilateur XAML .NET Framework 3.0 et .NET Framework 3.5 WPF. Pour plus d’informations sur les autres aspects de la x:Class gestion dans WPF, consultez Code-Behind et XAML dans WPF.

x :Class pour Windows Workflow Foundation

Pour Windows Workflow Foundation, x:Class nomme la classe d’une activité personnalisée composée entièrement en XAML, ou nomme la classe partielle de la page XAML pour un concepteur d’activités avec code-behind.

Notes d’utilisation silverlight

x:Class pour Silverlight est documenté séparément. Pour plus d’informations, consultez Xaml Namespace (x :) Language Features (Silverlight).

Voir aussi