Linguaggio

ResourceDictionary.MergedDictionaries Proprietà

Definizione

Ottiene un insieme di 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 iniziale per un'app SDK per app di Windows che usano 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. 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 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 factoring e riutilizzo per le risorse dal punto di vista dello sviluppo e della progettazione. In genere il file XAML viene incluso come elemento contenuto come parte del progetto e del manifesto dell'app.

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

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

Per altre info su come usare MergedDictionaries e sulla 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 generale, in cui lo scenario prevede la fornitura di risorse correlate al tema per i controlli.

La modifica del contenuto della raccolta 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 si fa affidamento sulla ricerca delle risorse predefinita che avviene in fase di caricamento XAML oppure si eseguono query sulle raccolte Application.Resources o FrameworkElement.Resources pertinenti in grado di fare riferimento alle risorse in base alla chiave, incluse le risorse unite.

Si applica a

Vedi anche