Modificadores de campo XAML em Xamarin.Forms

O x:FieldModifier atributo namespace especifica o nível de acesso para campos gerados para elementos XAML nomeados. Os valores válidos do atributo são:

  • private – especifica que o campo gerado para o elemento XAML é acessível somente dentro do corpo da classe na qual ele é declarado.
  • public – especifica que o campo gerado para o elemento XAML não tem restrições de acesso.
  • protected – especifica que o campo gerado para o elemento XAML é acessível dentro de sua classe e por instâncias de classe derivadas.
  • internal – especifica que o campo gerado para o elemento XAML é acessível somente dentro de tipos no mesmo assembly.
  • notpublic – especifica que o campo gerado para o elemento XAML é acessível somente dentro de tipos no mesmo assembly.

Por padrão, se o valor do atributo não estiver definido, o campo gerado para o elemento será private.

Observação

O valor do atributo pode usar qualquer maiúscula, pois ele será convertido em minúsculas por Xamarin.Forms.

As seguintes condições devem ser atendidas para que um x:FieldModifier atributo seja processado:

  • O elemento XAML de nível superior deve ser válido x:Class.
  • O elemento XAML atual tem um x:Name especificado.

O XAML a seguir mostra exemplos de configuração do atributo:

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

Importante

O x:FieldModifier atributo não pode ser usado para especificar o nível de acesso de uma classe XAML.