Compartir a través de


Atributo x:FieldModifier

Actualización: noviembre 2007

Modifica el comportamiento de compilación de XAML, de tal forma que los campos correspondientes a las referencias de objetos con nombre se definen con el acceso NonPublic, en lugar de con el comportamiento Public predeterminado.

Uso de atributos XAML

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

Valores XAML

Public

La cadena exacta que se debe pasar para especificar el valor Public en lugar de NonPublic varía, dependiendo del lenguaje de programación subyacente que se utilice. Vea Comentarios.

Dependencies

x:Name también se debe proporcionar en el mismo elemento.

Comentarios

El valor del atributo x:FieldModifier varía según el lenguaje de programación. La cadena que hay que utilizar depende de cómo se implemente CodeDomProvider en el lenguaje, de los convertidores de tipos que se devuelvan en cada lenguaje para definir los significados de TypeAttributes.Public y TypeAttributes.NonPublic, y de si ese lenguaje distingue entre mayúsculas y minúsculas o no.

  • Para C#, la cadena que se debe pasar para designar Public es public.

  • Para Microsoft Visual Basic .NET, la cadena que se debe pasar para designar Public es Public.

  • Para C++/CLI, en este momento los elementos de destino C++/CLI no admiten la compilación de XAML.

También puede especificar NonPublic (internal en C#, Friend en Microsoft Visual Basic .NET) pero no es frecuente, porque el comportamiento NonPublic ya es el valor predeterminado.

NonPublic es el valor predeterminado porque es infrecuente que el código externo al ensamblado que ha compilado el marcado XAML necesite tener acceso a un elemento creado mediante XAML. En la arquitectura de seguridad de WPF se toma la decisión consciente de no hacer públicos los campos que almacenan instancias de elementos a no ser que se establezca específicamente el atributo x:FieldModifier.

x:FieldModifier sólo es pertinente para los elementos que también tienen Atributo x:Name, porque ese nombre se utiliza para hacer referencia al campo cuando es público.

La clase parcial del elemento raíz es pública de manera predeterminada, pero puede hacerse no pública mediante Atributo x:ClassModifier. Atributo x:ClassModifier también afecta al nivel de acceso de la instancia de la clase del elemento raíz. Puede incluir x:Name y x:FieldModifier en el elemento raíz, pero lo único que se consigue es una copia de campo público del elemento raíz, pero el nivel de acceso real de la clase del elemento raíz sigue estando controlado por Atributo x:ClassModifier.

Vea también

Conceptos

XAML y clases personalizadas

Código subyacente y XAML

Generar una aplicación de WPF (WPF)

Referencia

Atributo x:Name

Atributo x:ClassModifier