Ho scoperto che dovevo fare riferimento all'assembly stesso e non utilizzare il nome di un progetto. Inoltre, non avevo bisogno di usare la sintassi pack: /// per farlo funzionare.
Questa risposta sulla questione duplicato specifica il formato da utilizzare (posso verificare che questa sintassi funziona in .NET 4.0): https://stackoverflow.com/a/10216253/1260563
particolare (da quando mi dimentico sempre la componente pensando che è una cartella qualcuno sta usando):
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/<YourAssemblyName>;component/<YourReferencedFileHere.xaml>" />
</ResourceDictionary.MergedDictionaries>
Quindi, se si dispone di un assembly Abc.Def.dll e un file in quella DLL chiamato Xyz.xaml al livello principale si usa:
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Abc.Def;component/Xyz.xaml" />
</ResourceDictionary.MergedDictionaries>
Nota: il ricercatore 7 ha sottolineato che dovevo fare riferimento al gruppo stesso.
fonte
2012-09-18 13:41:09
Duplicato? http://stackoverflow.com/questions/338056/wpf-resource-dictionary-in-a-separate-assembly –