2012-08-22 9 views
16

Próbuję odnieść się do projektu MergedDictionaries.SharedStyles, który ma wszystkie style, które muszą być używane allover aplikacji. Więc mam różne style w różnych folderach jako słowniki zasobów. więc w końcu połączyłem je z AllSharedStyles.xaml i mam to na poziomie projektu Styles.Jak ustawić względną ścieżkę/Uri w źródle ResourceDictionary?

Teraz mam inny ResourceDictionary na poziomie Rozwiązania <> który odnosi się do AllSharedStyles.xaml Słownik zasobów < < >>. Ten ResourceDictionary jest dodawany jako link do wszystkich moich modułów w rozwiązaniu.

Problem tutaj jest moim SharedResourceDictionary ja mam następujące MergedDictionaries

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

Project architecture

Ja skieruję do wspólnego zasobu pierwszy wtedy mój lokalny Inorder przesłonić (tylko jeśli jest to wymagane) wszelkie style specyficzne dla modułu .

Teraz gdy uruchamiam aplikację narzeka

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

Ów komunikat o błędzie.

Z mojego punktu widzenia poszukuje właściwego odniesienia. Próbowałem również użyć adresu URL pliku: Pack URLss. Oto url paczka:

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

więc wszelkie sugestie dotyczące mieć względną ścieżkę tutaj ????

Przepraszam za mój opis/projekcji problemu

Odpowiedz

20

Wreszcie wypracowane rozwiązanie:

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

zmienił go na ścieżkę względną i danej ścieżki korzeniowego.