2012-08-22 7 views
16

Ich versuche, auf ein MergedDictionaries.SharedStyles-Projekt zu verweisen, das alle Styles enthält, die in der gesamten Anwendung verwendet werden müssen. Also hier habe ich verschiedene Stile unter verschiedenen Ordnern als Resource Dictionaries. so habe ich sie schließlich zu AllSharedStyles.xaml zusammengeführt und habe das auf Styles-Projektebene.So legen Sie einen relativen Pfad/Uri in ResourceDictionary-Quelle fest

Jetzt habe ich ein anderes Resource bei Solution Ebene <>, die zu AllSharedStyles.xaml Ressourcenverzeichnis verweist < < >>. Dieses ResourceDictionary wird als Link zu allen meinen Modulen in der Lösung hinzugefügt.

Ausgabe hier ist meiner SharedResourceDictionary i folgende MergedDictionaries

<ResourceDictionary.MergedDictionaries> 
    <ResourceDictionary Source="/MergedDictionaries.SharedStyles;component/AllSharedStyles.xaml" /> 
    <ResourceDictionary Source="/View/LocalResource.xaml" /> 
</ResourceDictionary.MergedDictionaries> 

Project architecture

Ich habe gemeinsame Ressource refered habe zuerst, dann meine lokalen Inorder außer Kraft zu setzen (nur bei Bedarf) alle Arten spezifisch an das Modul .

Nun, wenn ich die Anwendung ausführen, klagt sie

'Set property 'System.Windows.ResourceDictionary.Source' threw an exception.' Line number '5' and line position '10'. 

Das ist die Fehlermeldung.

Mit meinem Verständnis ist es auf der Suche nach richtigen Bezug. Ich habe auch versucht, Pack URL ref: Pack URLss. Hier ist die Packung url:

<ResourceDictionary Source="pack://application:,,,/MergedResourceDictionaries.Styles;component/component/AllSharedStyles.xaml" /> 

Also irgendwelche Vorschläge auf, wie man hier einen relativen Pfad haben ????

Sorry für meine Beschreibung/Projektion Problem

Antwort

20

arbeitete Schließlich Lösung aus:

<ResourceDictionary Source="../SharedResourceDictionary.xaml" /> 

es geändert zu relativem Pfad und gegebenen Wurzelpfad.

Verwandte Themen