Compartilhar via


ResourceDictionary.MergedDictionaries Propriedade

Definição

Obtém uma coleção dos dicionários ResourceDictionary que constituem os vários dicionários de recursos nos dicionários mesclados.

public:
 property IVector<ResourceDictionary ^> ^ MergedDictionaries { IVector<ResourceDictionary ^> ^ get(); };
IVector<ResourceDictionary> MergedDictionaries();
public IList<ResourceDictionary> MergedDictionaries { get; }
var iVector = resourceDictionary.mergedDictionaries;
Public ReadOnly Property MergedDictionaries As IList(Of ResourceDictionary)
<ResourceDictionary>
  <ResourceDictionary.MergedDictionaries>
    oneOrMoreResourceDictionaryElements
  </ResourceDictionary.MergedDictionaries>
</ResourceDictionary>

Valor da propriedade

Uma coleção de listas dos dicionários ResourceDictionary que constituem os vários dicionários de recursos nos dicionários mesclados.

Exemplos

Os modelos iniciais do Microsoft Visual Studio para um aplicativo UWP usando C++, C# ou Visual Basic incluem um nó MergedDictionaries no arquivo app.xaml. Isso faz referência a um ResourceDictionary XAML separado no projeto que contém algumas definições básicas de modelo de controle. Você pode modificar o XAML no ResourceDictionary para personalizar a aparência dos controles.

<Application
    ....
>
    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="Common/StandardStyles.xaml"/>
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>
</Application>

Comentários

Definir um valor MergedDictionaries permite que você compartilhe um arquivo XAML ResourceDictionary entre várias páginas ou também como um arquivo comum que você pode adicionar a vários projetos de aplicativo. Isso fornece uma técnica útil de fatoração e reutilização para recursos do ponto de vista de desenvolvimento e design. Normalmente, você inclui o arquivo XAML como um item De conteúdo como parte do manifesto do projeto e do aplicativo.

Os recursos com chave em qualquer XAML MergedDictionaries não precisam ser exclusivos versus as chaves, conforme encontrado no ResourceDictionary primário para Application.Resources ou FrameworkElement.Resources, e a ordem de pesquisa para chaves procurará primeiro no dicionário primário. Isso habilita uma técnica pela qual você pode substituir qualquer valor de chave obtido de dentro de arquivos XAML MergedDictionaries, mas você também pode ter os dicionários mesclados disponíveis como um fallback ou como um conjunto geral de recursos não personalizados.

Você pode incluir mais de um ResourceDictionary em um conjunto MergedDictionaries para fornecer uma sequência de fallback mesmo dentro do conjunto MergedDictionaries.

Para obter mais informações sobre como usar MergedDictionaries e a sequência de pesquisa de recursos, consulte Referências de recursos ResourceDictionary e XAML.

ThemeDictionaries é uma propriedade relacionada que também mescla fontes XAML ResourceDictionary adicionais no conjunto geral de recursos com chave, em que o cenário é para fornecer recursos relacionados ao tema para controles.

Alterar o conteúdo da coleção de itens ResourceDictionary para MergedDictionaries não é um cenário comum. Geralmente, você estabelece o conteúdo da coleção em XAML e não o altera em runtime. Não há muitos cenários em que você acessaria a coleção em si no código em tempo de execução. Normalmente, você conta com a pesquisa de recursos interna que ocorre no tempo de carregamento XAML ou consulta as coleções Application.Resources ou FrameworkElement.Resources relevantes que podem referenciar recursos por chave, incluindo os recursos mesclados.

Aplica-se a

Confira também