x :FieldModifier, directive
Modifie le comportement de compilation XAML afin que les champs des références d’objets nommés soient définis avec TypeAttributes.Public accès au lieu du comportement par défaut TypeAttributes.NotPublic.
Utilisation des attributs XAML
<object x:FieldModifier="Public".../>
Valeurs XAML
Valeur | Description |
---|---|
public | La chaîne exacte que vous passez pour spécifier TypeAttributes.Public par rapport à TypeAttributes.NotPublic varie en fonction du langage de programmation code-behind utilisé. Voir les remarques. |
Dépendances
Si une production XAML utilise x:FieldModifier
n’importe où, l’élément racine de cette production XAML doit déclarer une directive x :Class.
Remarques
x:FieldModifier
n’est pas pertinent pour déclarer le niveau d’accès général d’une classe ou de ses membres. Il est pertinent uniquement pour le comportement de traitement XAML lorsqu’un objet XAML particulier qui fait partie d’une production XAML est traité et devient un objet potentiellement accessible dans le graphique d’objet d’une application. Par défaut, la référence de champ pour un tel objet est conservée privée, ce qui empêche les consommateurs de contrôler la modification directe du graphique d’objet. Au lieu de cela, les consommateurs de contrôle sont censés modifier le graphique d’objets à l’aide de modèles standard activés par des modèles de programmation, tels que l’obtention de la racine de disposition, les collections d’éléments enfants, les propriétés publiques dédiées, etc.
La valeur de l’attribut x:FieldModifier
varie selon le langage de programmation et son objectif peut varier dans des frameworks spécifiques. La chaîne à utiliser dépend de la façon dont chaque langage implémente son CodeDomProvider et les convertisseurs de type qu’il retourne pour définir les significations de TypeAttributes.Public et de TypeAttributes.NotPublic, et si cette langue respecte la casse.
Pour C#, la chaîne à passer pour désigner TypeAttributes.Public est
public
.Pour Microsoft Visual Basic .NET, la chaîne à passer pour désigner TypeAttributes.Public est
Public
.Pour C++/CLI, aucune cible pour XAML n’existe actuellement ; par conséquent, la chaîne à passer n’est pas définie.
Vous pouvez également spécifier TypeAttributes.NotPublic (internal
en C#, Friend
en Visual Basic), mais spécifier TypeAttributes.NotPublic est inhabituel, car NotPublic
comme le comportement est déjà la valeur par défaut.
TypeAttributes.NotPublic est le comportement par défaut, car il est peu fréquent que le code en dehors de l’assembly qui a compilé le code XAML a besoin d’accéder à un élément créé par XAML. L’architecture de sécurité WPF avec le comportement de compilation XAML ne déclare pas les champs qui stockent les instances d’élément en tant que public, sauf si vous définissez spécifiquement le x:FieldModifier
pour autoriser l’accès public.
x:FieldModifier
concerne uniquement les éléments avec une directive x :Name, car ce nom est utilisé pour référencer le champ après qu’il est public.
Par défaut, la classe partielle de l’élément racine est publique ; Toutefois, vous pouvez le rendre non public à l’aide de la directive x :ClassModifier. La directive x :ClassModifier affecte également le niveau d’accès de l’instance de la classe d’élément racine. Vous pouvez placer à la fois x:Name
et x:FieldModifier
sur l’élément racine, mais cela rend uniquement une copie de champ public de l’élément racine, avec le niveau d’accès de classe d’élément racine true toujours contrôlé par directive x :ClassModifier.
Voir aussi
.NET Desktop feedback