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 un accès au lieu du TypeAttributes.NotPublic comportement par défaut.

Utilisation d'attributs XAML

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

Valeurs XAML

Valeur Description
Public La chaîne exacte que vous passez pour spécifier TypeAttributes.Public ou TypeAttributes.NotPublic varie selon le langage de programmation code-behind utilisé. Consultez la section Notes.

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.

Notes

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 varie selon le x:FieldModifier 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 langue implémente son CodeDomProvider et le convertisseur de type qu’il retourne pour définir les significations pour TypeAttributes.Public et TypeAttributes.NotPublic, et si cette langue respecte la casse.

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

  • Pour Microsoft Visual Basic .NET, la chaîne à transmettre à 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 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 l’autorisation x:FieldModifier d’accès public.

x:FieldModifier n’est pertinent que pour 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 fait uniquement une copie de champ public de l’élément racine, avec le niveau d’accès de la classe d’élément racine true toujours contrôlé par la directive x :ClassModifier.

Voir aussi