Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Propriedade FrameworkContentElement.Resources

 

Obtém ou define o dicionário de recursos definido localmente atual.

Namespace:   System.Windows
Assembly:  PresentationFramework (em PresentationFramework.dll)

[AmbientAttribute]
public ResourceDictionary Resources { get; set; }

Valor da Propriedade

Type: System.Windows.ResourceDictionary

Recursos definidos localmente atuais. Isso é um dicionário de recursos, onde os recursos dentro do dicionário são acessados pela chave.

Dicionários de recursos que podem ser definidos completamente ou parcialmente no XAML (linguagem XAML) normalmente são criadas como um elemento de propriedade e são normalmente no elemento raiz para qualquer página individual ou para o aplicativo. Colocar o dicionário de recursos nesse nível facilita a localização de elementos filho individual na página (ou de qualquer página, no caso de aplicativos). Na maioria dos cenários de aplicativo, é recomendável que os estilos ser definidos como elementos de objeto dentro de um dicionário de recursos, ou ser definidos como recursos externos para que o recurso de estilo inteiro pode ser independente (essa abordagem ajuda a separar designers responsabilidades das responsabilidades do desenvolvedor, separando os arquivos físicos que precisam ser editado).

Observe que essa propriedade retorna o dicionário de recursos declarado diretamente dentro desse elemento. Isso é diferente do processo de pesquisa de recurso reais, onde um elemento filho pode acessar os recursos definidos em cada elemento pai, pesquisa recursivamente para cima.

Recursos também pode ser referenciados pelo código de dentro da coleção, mas lembre-se de que recursos criados em XAML definitivamente não estarão acessíveis até depois Loaded é gerado pelo elemento que declara o dicionário. Na verdade, os recursos são analisados de forma assíncrona e nem mesmo o Loaded evento é uma garantia de que você pode fazer referência a um XAML definido pelo recurso. Por esse motivo você geralmente só deve acessar XAML recursos definidos pelo como parte do código de tempo de execução, ou por meio de outros XAML técnicas como estilos ou referências de extensão de recurso para valores de atributo. Quando você acessa os recursos por meio de código, é basicamente equivalente a uma referência feita de XAML.

Subjacente ResourceDictionary suporta os métodos necessários para adicionar, remover ou recursos de dentro da coleção de consulta usando código. O Resources propriedade é configurável para suportar o cenário de substituir totalmente a coleção de recursos de um elemento a ser um novo ou diferente ResourceDictionary.

Observe que o XAML sintaxe mostrada não inclui um elemento para o ResourceDictionary. Este é um exemplo de sintaxe de coleção implícita. uma marca que representa o elemento de coleção pode ser omitida. Os elementos que são adicionados como itens na coleção são especificados em vez disso. Para obter mais informações sobre coleções implícitas e XAML, consulte sintaxe de XAML em detalhes. Um caso onde um ResourceDictionary ainda é especificado explicitamente como um elemento é se você está implantando um dicionário mesclado, caso em que normalmente há nenhum elemento filho para que ResourceDictionary. Para obter detalhes, consulte dicionários de recursos mesclados.

<object>
  <object.Resources>
    oneOrMoreResourceElements
  </object.Resources>
</object>

oneOrMoreResourceElements

Um ou mais elementos de objeto, cada um deles define um recurso. Cada elemento de propriedade dentro de cada recurso ResourceDictionary deve ter um valor exclusivo para o x:Key Directive, que serve como a chave exclusiva quando os valores são recuperados do ResourceDictionary.

O exemplo a seguir estabelece um Resources coleta em uma FlowDocument elemento raiz. FlowDocument é uma opção comum porque é uma das poucas FrameworkContentElement classes que fazem sentido como um elemento raiz e recursos geralmente são armazenados na raiz de página ou em níveis superiores mesmo como o aplicativo.

<FlowDocument
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  x:Class=" SDKSample.Page2">
  <FlowDocument.Resources>
    <Style TargetType="{x:Type Paragraph}" x:Key="BluePara">
      <Setter Property="Background" Value="Blue"/>
      <Setter Property="FontSize" Value="18"/>
      <Setter Property="Foreground" Value="LightBlue"/>
      <Setter Property="FontFamily" Value="Trebuchet MS"/>
    </Style>
  </FlowDocument.Resources>
  <Paragraph Style="{StaticResource BluePara}">Lorem ipsum etc.</Paragraph>
</FlowDocument>

.NET Framework
Disponível desde 3.0
Retornar ao início
Mostrar: