È possibile aggiungere un dizionario di risorse in un altro? Grazie per l'aiuto.Come importare un ResourceDictionary in un altro, in WPF?
risposta
Senza più contesto, è difficile dare una risposta specifica. Ecco alcune risorse eventualmente rilevanti sulla fusione dizionari risorse:
Qualcosa di simile:
ResourceDictionary resources = new ResourceDictionary();
resources.Source = new Uri("/MyModule;component/MyModule.xaml",
UriKind.RelativeOrAbsolute);
Application.Current.Resources.MergedDictionaries.Add(resources);
potrebbe essere quello che stai cercando. Usiamo il codice come questo nei nostri moduli Prism.
Un frammento di dritta da un progetto SketchFlow sto lavorando su che dimostra come unire dizionari di risorse in XAML:
<Application.Resources>
<!-- Resources scoped at the Application level should be defined here. -->
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Microsoft.Expression.Prototyping.SketchControls;component/ScrollViewerStyles.xaml"/>
<ResourceDictionary Source="/[ProjectABC];component/[fileXYZ].xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
Questo dimostra la fusione di due dizionari di risorse aggiuntive in un altro dizionario risorse.
(Si noti che l'ordine può diventare fondamentale se avete stili di default definiti in più di un posto in quanto saranno ignorare l'altro)
In Dictionary2.xaml definire MergedDictionaries (subito dopo il tag di apertura ResourceDictionary):
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Path/to/Dictionary1.xaml" />
</ResourceDictionary.MergedDictionaries>
c'è un problema: ogni volta che si uniscono dizionari si crea effettivamente una copia del dizionario unito. Ed è ricorsivo: se hai Dict3.xaml e Dict4.xaml che caricano entrambi Dictionary2.xaml, avrai tre istanze di Dictionary1.xaml create
La soluzione è una SharedResourceDictionary. L'implementazione nel tutorial dovrebbe essere vista come un punto di partenza e probabilmente richiederà un certo livello di ottimizzazione, a seconda dello scenario di utilizzo. Google "wpf SharedResourceDictionary" per alcuni trucchi e soluzioni.
Dalla risposta allo this question da XAMeLi
- 1. Importare metodi AppleScript in un altro AppleScript?
- 2. Xamarin.Forms: come posso caricare ResourceDictionary da un altro file?
- 3. Importare un file HTML in un altro file HTML
- 4. Come posso accedere a ResourceDictionary in wpf dal codice C#?
- 5. Riferimento a una risorsa in un ResourceDictionary da un ResourceDictionary diversa in Silverlight
- 6. Come posso importare uno script Gradle in un altro?
- 7. Aggiunta di .cs in un ResourceDictionary?
- 8. Accesso a ResourceDictionary da WPF UserControl
- 9. Combinare gli stili WPF generici con ResourceDictionary
- 10. Utilizzare un altro controllo come maschera di opacità in WPF?
- 11. Come posso importare un progetto .NET Core in un altro progetto .NET Core in Visual Studio?
- 12. Associazione dati WPF con ResourceDictionary MVVM
- 13. Carica un ResourceDictionary da un assembly
- 14. Utilizzare un ResourceDictionary esterno in un'applicazione WindowsPhone 7
- 15. È possibile condividere un file ResourceDictionary tra più progetti?
- 16. Come importare un file .hs in Haskell
- 17. Symfony 2 come importare file MENO da un altro pacchetto
- 18. PHP come importare tutte le classi da un altro namespace
- 19. come importare semplicemente un file Groovy in un altro script Groovy
- 20. Chiudere una finestra da un altro in WPF
- 21. importare un array in python
- 22. Come importare un v.mod.ie in Hyper-V
- 23. Come importare un jar in Eclipse
- 24. Come importare un file enorme in PostgreSQL?
- 25. Come posso aggiungere un percorso, che è stato definito in XAML ResourceDictionary, più volte in un modulo WPF in fase di runtime?
- 26. Come impostare un percorso relativo/Uri nell'origine di ResourceDictionary
- 27. Come importare dinamicamente i modelli 3D in un'applicazione WPF
- 28. Importare una classe da una cartella ad un altro livello
- 29. Importare il progetto XCode all'interno di un altro progetto XCode
- 30. WPF C# - Modifica di un listbox da un altro thread