Modificadores de campo XAML en Xamarin.Forms

El atributo de espacio de nombres x:FieldModifier especifica el nivel de acceso a los campos generados para los elementos XAML con nombre. Los valores válidos del atributo son:

  • private: especifica que el campo generado para el elemento XAML solo es accesible dentro del cuerpo de la clase en la que se declara.
  • public: especifica que el campo generado para el elemento XAML no tiene restricciones de acceso.
  • protected: especifica que el campo generado para el elemento XAML es accesible dentro de su clase y por instancias de clase derivadas.
  • internal: especifica que el campo generado para el elemento XAML solo es accesible dentro de los tipos del mismo ensamblado.
  • notpublic: especifica que el campo generado para el elemento XAML solo es accesible dentro de los tipos del mismo ensamblado.

De forma predeterminada, si no se establece el valor del atributo, el campo generado para el elemento será private.

Nota:

El valor del atributo puede usar cualquier combinación de mayúsculas y minúsculas, ya que será convertido a minúsculas por Xamarin.Forms.

Se deben cumplir las condiciones siguientes para que se procese un atributo x:FieldModifier:

  • El elemento XAML de nivel superior debe ser un x:Class válido.
  • El elemento XAML actual tiene un x:Name especificado.

En la siguiente XAML se muestran algunos ejemplos de cómo se establece el atributo:

<Label x:Name="privateLabel" />
<Label x:Name="internalLabel" x:FieldModifier="internal" />
<Label x:Name="publicLabel" x:FieldModifier="public" />

Importante

El atributo x:FieldModifier no puede usarse para especificar el nivel de acceso de una clase XAML.