La mia preoccupazione è come gestire ResourceDictionarys in un progetto WPF (MVVM). Di solito creo solo piccoli progetti, quindi non importa più di tanto, ma da quando ho creato un modello di progetto per gestire alcuni degli hotplotter, sono davvero interessato a questo argomento.
Ho trovato il seguente approccio su Stack Overflow: "Dizionario delle risorse ( WPF) "convenzione di denominazione e gestione dei suggerimenti
L'utente suggerisce i seguenti dizionari:
- Caratteri e dimensioni dei caratteri (Fonts.xaml)
- Pennelli e colori (Brushes.xaml)
- Stili di controllo generici, senza chiavi (CoreStyles.xaml)
- Modelli di dati e TemplateSelector (DataTemplates.xaml)
- Convertitori (Converters.xaml)
- BitmapImmagini da utilizzare come sorgenti di immagini (Icons.xaml)
- Stili specifici con chiave (Styles.xaml)
Li ho creati e li ho appena caricati tutti in App_Start, ma ora si fa a pezzi: visto che mi piacerebbe definire i miei compiti come StaticResource (per motivi di prestazioni, da quello che ho letto), ho bisogno di caricarli nel esatto ordine corretto, come descritto qui: link .
Questo causa alcuni problemi di "Egg-Chicken" per me, poiché in Styles.Xaml ho cose del tipo:
<Style TargetType="Button" x:Key="StyleButtonNavigation" BasedOn="{StaticResource {x:Type Button}}">
<Setter Property="Margin" Value="0,0,0,10" />
</Style>
Quindi, dovrei caricare CoreStyles prima di Styles, ma CoreStyles usa anche altre cose ecc., ed è semplicemente la più semplice di una possibile applicazione.
Un altro approccio che ho trovato è stato quello di creare un ResourceDictionary per ogni stile ecc .: link Questo sembra essere l'approccio, che corrisponde maggiormente all'SRP, ma non vedo questo ridimensionamento in un progetto più ampio.
Interessante, non ho trovato linee guida o best practice da Microsoft su questo argomento.