Condividi tramite


ResourceDictionary.MergedDictionaries Proprietà

Definizione

Ottiene una raccolta dei dizionari ResourceDictionary che costituiscono i vari dizionari di risorse nei dizionari uniti.

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>

Valore della proprietà

Raccolta di elenchi dei dizionari ResourceDictionary che costituiscono i vari dizionari di risorse nei dizionari uniti.

Esempio

I modelli di Microsoft Visual Studio iniziali per un'app Windows App SDK usando C++ o C# includono un MergedDictionaries nodo nel file app.xaml. Questo fa riferimento a un resourceDictionary XAML separato nel progetto che contiene alcune definizioni di modello di controllo di base. È possibile modificare il codice XAML all'interno di ResourceDictionary per personalizzare l'aspetto dei controlli.

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

Commenti

L'impostazione di un MergedDictionaries valore consente di condividere un file XAML ResourceDictionary tra diverse pagine o anche come file comune che è possibile aggiungere a più progetti di app. Ciò offre una tecnica utile di fattorizzazione e riutilizzo per le risorse da un punto di vista di sviluppo e progettazione. In genere si include il file XAML come elemento Contenuto come parte del manifesto del progetto e dell'app.

Le risorse chiave in qualsiasi MergedDictionaries CODICE XAML non devono essere univoche rispetto alle chiavi trovate nel database ResourceDictionary primario per Application.Resources o FrameworkElement.Resources e l'ordine di ricerca delle chiavi verrà cercato prima nel dizionario primario. In questo modo è possibile eseguire l'override di qualsiasi valore di chiave ottenuto dai MergedDictionaries file XAML, ma è anche possibile avere i dizionari uniti disponibili come fallback o come set generale di risorse non personalizzate.

È possibile includere più risorsedictionary in un MergedDictionaries set per fornire una sequenza di fallback anche all'interno del MergedDictionaries set.

Per altre informazioni su come usare MergedDictionaries e la sequenza di ricerca delle risorse, vedere Riferimenti alle risorse ResourceDictionary e XAML.

ThemeDictionary è una proprietà correlata che unisce anche altre origini resourceDictionary XAML nel set di risorse chiave complessivo, in cui lo scenario è per fornire risorse correlate al tema per i controlli.

La modifica del contenuto dell'insieme di elementi ResourceDictionary per MergedDictionaries non è uno scenario comune. In genere si stabilisce il contenuto della raccolta in XAML e non modificarlo in fase di esecuzione. Non esistono molti scenari in cui si accederà alla raccolta stessa nel codice in fase di esecuzione. In genere si basa sulla ricerca di risorse predefinita che si verifica in fase di caricamento XAML oppure si esegue una query sulle raccolte Application.Resources o FrameworkElement.Resources pertinenti che possono fare riferimento alle risorse in base alla chiave, incluse le risorse unite.

Si applica a

Vedi anche