Hinzufügen eines Merged Dictionary zu einem Merged Dictionary
Ich kann nicht scheinen, um in der Lage sein, eine zusammengeführte Wörterbuch zu einer Sammlung zusammengeführt Wörterbücher in XAML.
Thema.xaml
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Mine;component/Themes/Palette.Blue.xaml"/>
<ResourceDictionary Source="/Mine;component/Themes/Template.xaml"/>
</ResourceDictionary.MergedDictionaries>
Anwendung Ressourcen
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Mine;component/Themes/Theme.xaml"/>
<!--
<ResourceDictionary Source=="/Mine;component/Themes/Palette.Blue.xaml"/>
<ResourceDictionary Source="/Mine;component/Themes/Template.xaml"/>
-->
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
Hinweis: wenn ich beide ResourceDictionaries in der Anwendung vorgenommen.Ressourcen MergedDictionary (kommentieren Sie das Thema.xaml-Code und kommentieren Sie die beiden anderen Wörterbücher) beide korrekt geladen. Jedoch, die Art, wie wir unsere Ressourcen definiert sind, kann dies bedeuten, dass durchaus ein paar Ressourcen geladen werden, und für das dynamische laden ich möchte in der Lage sein zu definieren Vorlagen.
Kommentar zu dem Problem
ist, dass der gesamte code des themes.xaml? weil ich denke, Sie müssen nur starten und beenden Sie ihn mit ResourceDictionary-tag, um zu machen es zu arbeiten
Nein, es ist eigentlich in einem zusammengeführten Wörterbuch bereits. Es scheint einfach nicht zu Erben.
InformationsquelleAutor der Frage The Real Baumann | 2010-08-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist eine Optimierung, bug, siehe diese link
So das hinzufügen einer dummy-Stil, um die root-Wörterbuch dies behebt. Beispiel
InformationsquelleAutor der Antwort Fredrik Hedblad
Deinem Beispiel-code hat einen doppelten Gleichheitszeichen in der App.xaml-Ressource zusammengeführt Wörterbuch-Quelle für die Palette.Blau.xaml. Ich nehme an das ist ein Tippfehler für dein Beispiel hier gepostet, und nicht Ihre wirkliche problem aber.
Kann es schwierig sein, herauszufinden, wie link Sie alle Ressourcen, die direkt im XAML-Code. Der einfachste Weg dies zu tun ist durch die Ressourcen-panel in der Mischung. Ich erstellt eine Silverlight-Anwendung mit Ressourcen-Dateien mit Namen wie dein Beispiel, dann öffnete er das Projekt in Blend-und sehr schnell Verband Sie miteinander.
App.xaml
Thema.xaml
Vorlage.xaml
Palette.Blau.xaml
MainPage.xaml
Natürlich, wenn Sie die Verknüpfung von Ressourcen aus verschiedenen Baugruppen werden anders Aussehen. Tatsächlich, in diesem Fall, würde ich vorschlagen, Blick in die Vereinigung der Wörterbücher in der code-behind.
InformationsquelleAutor der Antwort Matt Casto
Wenn dies geschieht auf einem eigenen Kontrollen habe ich festgestellt, dass eine andere Lösung ist die Einstellung der
DefaultStyleKey
- Eigenschaft auf null:Ich habe keine Ahnung, warum das funktioniert, aber es scheint!
InformationsquelleAutor der Antwort Grokys