x:FieldModifier, attribut

Mise à jour : novembre 2007

Modifie le comportement de compilation XAML pour que les champs des références d'objet soient définis avec un accès NonPublic et non pas avec le comportement par défaut Public.

Utilisation des attributs XAML

<object x:FieldModifier="Public".../>

Valeurs XAML

Public

La chaîne exacte à passer pour spécifier Public et non NonPublic varie selon le langage de programmation code-behind utilisé. Voir Notes.

Dépendances

le x:Name doit être également fourni dans le même élément.

Notes

La valeur de l'attribut x:FieldModifier varie en fonction du langage de programmation. La chaîne à utiliser dépend de l'implémentation par chaque langage de son CodeDomProvider et des convertisseurs de type qu'il retourne pour définir les significations de TypeAttributes.Public et TypeAttributes.NonPublic et varie également selon que ce langage respecte la casse ou pas.

  • Pour C#, la chaîne à passer pour désigner Public est public.

  • Pour Microsoft Visual Basic .NET, la chaîne à passer pour désigner Public est Public.

  • Pour C++/CLI, les cibles C++/CLI ne prennent pas en charge actuellement la compilation XAML.

Vous pouvez également spécifier NonPublic (internal dans C#, Friend dans Microsoft Visual Basic .NET) mais cette opération est inhabituelle, car NonPublic est déjà le comportement par défaut.

NonPublic est la valeur par défaut, car il est inhabituel que le code en dehors de l'assembly qui a compilé le XAML ait besoin d'accéder à un élément créé XAML. L'architecture de sécurité WPF ne crée pas en connaissance de cause des champs qui stockent des instances d'élément Public, sauf si vous définissez spécifiquement le x:FieldModifier.

x:FieldModifier est uniquement pertinent pour les éléments avec un x:Name, attribut, car ce nom est utilisé pour faire référence au champ lorsqu'il est public.

La classe partielle de l'élément racine est publique par défaut, mais vous pouvez la rendre non publique en utilisant l'x:ClassModifier, attribut. L'x:ClassModifier, attribut affecte également le niveau d'accès de l'instance de la classe d'élément racine. Vous pouvez placer x:Name et x:FieldModifier dans l'élément racine, mais cela permet uniquement de créer une copie du champ public de l'élément racine, le niveau d'accès de la classe d'élément racine réel étant toujours contrôlé par x:ClassModifier, attribut.

Voir aussi

Concepts

XAML et classes personnalisées

Code-behind et XAML

Génération d'une application WPF (WPF)

Référence

x:Name, attribut

x:ClassModifier, attribut