FrameworkContentElement.Resources Propriedade

Definição

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

public:
 property System::Windows::ResourceDictionary ^ Resources { System::Windows::ResourceDictionary ^ get(); void set(System::Windows::ResourceDictionary ^ value); };
public System.Windows.ResourceDictionary Resources { get; set; }
[System.Windows.Markup.Ambient]
public System.Windows.ResourceDictionary Resources { get; set; }
member this.Resources : System.Windows.ResourceDictionary with get, set
[<System.Windows.Markup.Ambient>]
member this.Resources : System.Windows.ResourceDictionary with get, set
Public Property Resources As ResourceDictionary

Valor de Propriedade

Os recursos atualmente definidos localmente. Este é um dicionário de recursos, onde os recursos dentro do dicionário são acedidos por chave.

Atributos

Exemplos

O exemplo seguinte estabelece uma Resources coleção num FlowDocument elemento raiz. FlowDocument é uma escolha típica porque é uma das poucas FrameworkContentElement classes que faz sentido como elemento raiz, e os recursos são geralmente armazenados na raiz da página ou em níveis ainda mais altos, como na aplicação.

<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>

Observações

Dicionários de recursos que podem ser definidos total ou parcialmente em Extensible Application Markup Language (XAML) são normalmente criados como um elemento de propriedade, e estão tipicamente no elemento raiz de qualquer página individual ou da aplicação. Colocar o dicionário de recursos a este nível facilita encontrar elementos individuais filhos na página (ou em qualquer página, no caso da aplicação). Na maioria dos cenários de aplicação, recomendamos que os estilos sejam definidos como elementos de objeto dentro de um dicionário de recursos, ou como recursos externos para que todo o recurso de estilo seja autónomo (esta abordagem ajuda a separar as responsabilidades de designer das responsabilidades de programador ao separar os ficheiros físicos que precisam de ser editados).

Note que esta propriedade devolve apenas o dicionário de recursos declarado diretamente nesse elemento. Isto é diferente do processo real de pesquisa de recursos, onde um elemento filho pode aceder a qualquer um dos recursos definidos em cada elemento pai, procurando recursivamente para cima.

Os recursos também podem ser referenciados por código dentro da coleção, mas esteja ciente de que os recursos criados em XAML certamente não estarão acessíveis até serem Loaded gerados pelo elemento que declara o dicionário. Na verdade, os recursos são analisados de forma assíncrona, e nem sequer o Loaded evento garante que se pode referenciar um recurso definido em XAML. Por esta razão, geralmente só deve aceder a recursos definidos por XAML como parte de código de execução, ou através de outras técnicas XAML, como estilos ou referências de extensão de recursos para valores de atributos. Quando acedes a recursos através de código, é essencialmente equivalente a uma referência DynamicResource feita a partir de XAML.

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

Note que a sintaxe XAML mostrada não inclui um elemento para o ResourceDictionary. Este é um exemplo de sintaxe implícita de recolha; uma etiqueta que represente o elemento da coleção pode ser omitida. Os elementos que são adicionados como itens à coleção são especificados em vez disso. Para mais informações sobre coleções implícitas e XAML, veja XAML Syntax In Detail. Um caso em que a ResourceDictionary ainda é especificado explicitamente como elemento é se estiver a introduzir um dicionário fundido, caso em que normalmente não existem elementos filhos para esse ResourceDictionary. Para mais detalhes, consulte Dicionários de Recursos Mergados.

Uso do elemento de propriedade XAML

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

Valores XAML

umOuMaisElementosRecursosT Um ou mais elementos de objeto, cada um dos quais define um recurso. Cada elemento de propriedade de recurso dentro de cada ResourceDictionary um deve ter um valor único para a Diretiva x:Chave, que serve como chave única quando os valores são recuperados do ResourceDictionary.

Aplica-se a

Ver também