2010-12-03 4 views
6

Tous les exemples de code que j'ai trouvés jusqu'à présent font référence à un dictionnaire de ressources qui ne se trouve pas dans un sous-dossier de projet (le dictionnaire se trouve à la racine du projet). J'ai le mien dans un sous-dossier, et je n'arrive pas à comprendre comment obtenir WPF pour le trouver. Cela ne fonctionne pas ...Comment ajouter un ResourceDictionary défini dans un sous-dossier à App.xaml?

<Application.Resources> 
    <ResourceDictionary Source="/Skins/Black/GlossyButtons.xaml"/> 
</Application.Resources> 

La syntaxe de tilde ASP.Net ne semble pas fonctionner non plus. Est-ce la meilleure façon d'inclure un ResourceDictionary dans votre application afin que WPF puisse trouver des ressources? Mon objectif dans ce cas particulier est d'appliquer un style défini dans GlossyButtons.xaml à tous les boutons de mon application.

Répondre

5

Découverte du problème - WPF n'a pas pu trouver d'assembly référencé dans GlossyButtons.xaml, mais n'a pas montré l'erreur réelle (qu'il y avait un problème avec le fichier .xaml) tant que je n'ai pas compilé et exécuté plusieurs fois. L'erreur affichée (au début) était que GlossyButtons.xaml n'a pas pu être localisé.

C'était un peu déroutant.

5

Essayez la syntaxe URI pack

http://msdn.microsoft.com/en-us/library/aa970069.aspx

<Application.Resources> 
    <ResourceDictionary Source="pack://application:,,,/Skins/Black/GlossyButtons.xaml"/> 
</Application.Resources> 
+0

J'ai trouvé quelques références à cette syntaxe en ligne, mais j'ai pu le faire fonctionner avec juste un chemin relatif, comme si ... < ResourceDictionary Source = "/ Skins/Noir/GlossyButtons.xaml" />. Je compile contre .Net 4.0 - peut-être le support relatif de chemin est une nouvelle fonctionnalité? –

Questions connexes