Note Attribution for the following content/answer should go to @Chris Schaller . This answer's content was originally posted as an edit to @chameleon86 answer and was rejected (see also this meta). However I think, this is some valuable content and so I am 'reposting' it.
Per rendere le definizioni di cui styles.xaml a disposizione di tutti XAML all'interno dell'applicazione, aggiungere styles.xaml a App.xaml
<Application.Resources>
<ResourceDictionary >
<ResourceDictionary.MergedDictionaries >
<ResourceDictionary Source="styles.xaml"/>
</ResourceDictionary.MergedDictionaries>
<!-- You can declare additional resources before or after Merged dictionaries, but not both -->
<SolidColorBrush x:Key="DefaultBackgroundColorBrush" Color="Cornsilk" />
<Style x:Key="DefaultBackgroundColor" TargetType="TextBox">
<Setter Property="Background" Value="{StaticResource DefaultBackgroundColorBrush}" />
</Style>
</ResourceDictionary>
</Application.Resources>
Per capire come funziona, in fase di runtime la finestra, la pagina o il controllo esisteranno come elementi figlio dell'albero visivo dell'applicazione in esecuzione.
tua domanda iniziale ha osservato:
"These colors define how certain elements within one part of the application..."
Se avete solo bisogno di queste risorse di stile disponibili per alcuni pagine XAML o finestre, e non tutti di loro, allora si può ancora usare questo modello per unire il locale risorse per una finestra, o per griglie o altri controlli direttamente.
- Si noti che facendo ciò, questi stili sono disponibili solo per elementi figlio dell'elemento dichiarato come Dizionario risorse.
Vedi come è semplice ambito il riferimento di stile per una singola griglia per l'uso:
<Grid>
<Grid.Resources>
<ResourceDictionary >
<ResourceDictionary.MergedDictionaries >
<ResourceDictionary Source="styles.xaml"/>
</ResourceDictionary.MergedDictionaries>
<!-- You can declare additional resources before or after Merged dictionaries, but not both -->
</ResourceDictionary>
</Grid.Resources>
<!--
Grid Content :)
-->
</Grid>
provato a farlo, ma sto ottenendo il seguente errore: Tutti gli oggetti aggiunti a un IDictionary deve avere un Attributo chiave o qualche altro tipo di chiave associato ad essi. styles.xaml contiene solo un resourceDictionary e tutti gli elementi hanno chiavi (tranne per i sottoelementi di elementi). –
Aggiungi le chiavi agli stili in "styles.xaml". O anche "styles.xaml" dovrebbe essere un. –
Sì, è necessario impostare x: Chiave per tutti i colori in styles.xaml – chameleon86