Diretiva de x: FieldModifier
Modifica o comportamento de compilação de XAML para que os campos para as referências a objetos nomeados são definidos com TypeAttributes.Public acessar em vez da TypeAttributes.NotPublic padrão de comportamento.
XAML Attribute Usage
<object x:FieldModifier="Public".../>
XAML Values
Public |
A seqüência exata de passar para especificar TypeAttributes.Public versus TypeAttributes.NotPublic varia de acordo com a linguagem de programação de code-behind é usada. Consulte comentários. |
Dependencies
Se uma produção de XAML usa x:FieldModifier em qualquer lugar, o elemento raiz de produção que XAML deve declarar um Diretiva X:Class.
Comentários
x:FieldModifiernão é relevante para declarar o nível de acesso geral de uma classe ou de seus membros. Ele só é relevante para o comportamento de processamento XAML quando um determinado objeto XAML que faz parte de uma produção de XAML é processado e se torna um objeto que é potencialmente acessível no gráfico de objeto de um aplicativo. Por padrão, a referência de campo para tal objeto é mantida em sigilo, que impede que os consumidores de controle de modificar o gráfico do objeto diretamente. Em vez disso, os consumidores de controle são esperados para modificar o gráfico do objeto usando os padrões são ativadas por modelos de programação, como obtendo a raiz de layout, o filho de coleções de elementos, as propriedades públicas dedicadas, e assim por diante.
O valor para o x:FieldModifier atributo varia por linguagem de programação, e sua finalidade pode variar em estruturas específicas. A seqüência de caracteres para usar depende de como cada idioma implementa sua CodeDomProvider e os conversores de tipo retornará para definir os significados para TypeAttributes.Public e TypeAttributes.NotPublic, e se o idioma é sensível a maiúsculas.
Para C#, a seqüência de caracteres para passar para designar TypeAttributes.Public é public.
Para Microsoft Visual Basic .NET, a seqüência de caracteres para passar para designar TypeAttributes.Public é Public.
Para C++/CLI, sem destinos para XAML existem atualmente; portanto, para passar a seqüência de caracteres é indefinida.
Você também pode especificar TypeAttributes.NotPublic (internal na C#, Friend na Visual Basic), mas a especificação TypeAttributes.NotPublic é incomum porque NotPublic como o comportamento é já o padrão.
TypeAttributes.NotPublicé o comportamento padrão, pois é esporádicos que o código fora do assembly que compilado XAML precisa acessar um elemento criado em XAML. Arquitetura de segurança do WPF com o comportamento de compilação de XAML não declarar campos que armazenam as instâncias do elemento como pública, a menos que você defina especificamente a x:FieldModifier para permitir o acesso público.
x:FieldModifiersó é relevante para elementos com um x: nome de diretiva porque esse nome é usado para fazer referência o campo depois é público.
Por padrão, a classe parcial para o elemento raiz é pública; No entanto, você pode torná-la confidenciais usando o Diretiva de x: ClassModifier. The Diretiva de x: ClassModifier also affects the access level of the instance of the root element class. Você pode colocar ambos x:Name e x:FieldModifier no elemento raiz, mas esta só faz uma cópia do campo público do elemento raiz, com a classe do elemento raiz true acessar nível ainda é controlada por Diretiva de x: ClassModifier.