Compartilhar via


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.

Consulte também

Referência

x: nome de diretiva

Diretiva de x: ClassModifier

Conceitos

Classes de personalizadas para WPF e XAML

Code-Behind e XAML no WPF

Building a WPF Application (WPF)