ResourceDictionary.MergedDictionaries Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 SDK do Aplicativo Windows usando C++ ou C# incluem um MergedDictionaries
nó 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 MergedDictionaries
valor 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 MergedDictionaries
XAML 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 MergedDictionaries
de arquivos XAML, 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 MergedDictionaries
conjunto para fornecer uma sequência de fallback mesmo dentro do MergedDictionaries
conjunto.
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.
A alteração do 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.