Condividi tramite


ResourceDictionary.MergedDictionaries Proprietà

Definizione

Ottiene una raccolta dei dizionari ResourceDictionary che costituiscono i vari dizionari 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 risorse nei dizionari uniti.

Esempio

I modelli di Microsoft Visual Studio iniziali per un'app UWP che usano C++, C# o Visual Basic includono un nodo MergedDictionaries nel file app.xaml. Questo fa riferimento a un ResourceDictionary XAML separato nel progetto che contiene alcune definizioni di modello di controllo di base. Puoi 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 valore MergedDictionaries consente di condividere un file XAML ResourceDictionary tra diverse pagine o anche come file comune che è possibile aggiungere a più progetti di app. Ciò fornisce una tecnica utile di factoring e riutilizzo per le risorse dal punto di vista dello sviluppo e della progettazione. In genere includi il file XAML come elemento Contenuto come parte del progetto e del manifesto dell'app.

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

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

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

ThemeDictionaries è una proprietà correlata che unisce anche altre origini ResourceDictionary XAML nel set di risorse con chiave complessiva, in cui lo scenario prevede la fornitura di 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 lo si modifica in fase di esecuzione. Non esistono molti scenari in cui si accede alla raccolta stessa nel codice in fase di esecuzione. In genere ci si basa sulla ricerca delle risorse predefinita che si verifica in fase di caricamento XAML oppure si eseguono 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