2012-09-22 2 views
1

J'ai une solution avec la structure de dossier suivant:Comment puis-je fusionner un dictionnaire de ressources situé dans un assembly dans un dossier différent?

Solution 
    MainApplication 
    MainWindow.xaml 
    SharedResourcesLibrary (Class library project) 
    GlobalResources.xaml 
    SubFolder 
    ControlLibrary (Class library project) 
     MyUserControl.xaml 

J'ai besoin de fusionner le dictionnaire GlobalResources.xaml dans les ressources pour MainWindow.xaml et MyUserControl.xaml.

J'ai fusionné avec succès GlobalResources.xaml dans MainWindow.xaml en utilisant la syntaxe suivante dans MainWindow.xaml:

<ResourceDictionary Source="/SharedResourcesLibrary;component/GlobalResources.xaml" /> 

Cependant, je ne peux pas comprendre comment fusionner GlobalResource.xaml dans les ressources pour MyUserControl.xaml . J'ai essayé la syntaxe Pack URI comme suit:

<ResourceDictionary.MergedDictionaries> 
    <ResourceDictionary Source="pack://application:,,,/SharedResourcesLibrary;component/GlobalResources.xaml" /> 
</ResourceDictionary.MergedDictionaries> 

... mais cela ne semble pas fonctionner correctement. Je reçois le message d'erreur suivant dans le Visual Studio 2012 éditeur de XAML:

An error occurred while finding the resource dictionary "pack://application:,,,/SharedResourcesLibrary;component/GlobalResources.xaml" 

Quelle est la bonne façon de fusionner ce dictionnaire en MyUserControl correctement?

Répondre

1

Il semble que ce n'est qu'un problème dans Visual Studio 2012. J'ai ouvert ma solution dans Visual Studio 2010 et le concepteur fonctionne parfaitement avec la notation URI du pack.

Questions connexes