2009-11-23 10 views
0

J'ai une application WPF de bureau qui se charge des ressources de ce produit sur le web, ce qui nous permet de faire des choses différentes comme ... ajouter un thème de Noël plus tard sur la route autour des vacances si nous voulons. Pour charger le thème, je remplacerais simplement le dictionnaire de ressources actuel Applications avec notre propre dictionnaire de ressources comme si.Comment charger MergedResources à l'exécution? Mon code ne fonctionne pas comme prévu

 ResourceDictionary resources = null; 
     System.Net.WebClient client = new System.Net.WebClient(); 
     using (Stream s = client.OpenRead("http://www.mywebsite.com/MyXAMLFile.xaml")) 
     { 
      try 
      { 
       resources = (ResourceDictionary)XamlReader.Load(s); 
      } 
      catch 
      { } 
     } 
     Application.Current.Resources = resources; 

Eh bien nous sommes arrivés au point où je voulais séparer un peu une partie des ressources dans des fichiers différents au lieu d'utiliser juste un gros fichier de ressources qui contenait tout. Je pensais que ce serait plutôt simple en utilisant simplement des ressources fusionnées. Je pensais qu'une simple modification du code ci-dessus le ferait fonctionner, mais il s'avère que non. C'est ce que je m'attendais à faire. Lorsque l'application est exécutée, elle utilise simplement les styles normaux et ne prend pas en compte les ressources fusionnées que j'ai ajoutées. Qu'est-ce que je fais mal ici? Comment puis-je ajouter dynamiquement des ressources fusionnées (et plusieurs ressources) à l'exécution et les faire fonctionner correctement?

Merci, Kyle

Répondre

0

Mes excuses, semble-t-il fonctionne. Avec la méthode précédente, j'avais les styles par défaut déjà définis dans App.xaml, et j'utilisais StaticResources, quand j'ai changé pour utiliser les dictionnaires fusionnés, j'ai dû utiliser DynamicResources. Je pensais avoir effacé les styles dans App.xaml, mais comme il y avait plusieurs projets dans ma solution Visual Studio, j'ai supprimé les styles dans le mauvais fichier App.xaml!

Putain Visual Studio pour le rendre impossible de dire quel fichier App.xaml que vous modifiez s'il y a plusieurs projets dans la même solution :-).

encore Désolé! Si je savais comment supprimer une question je le ferais.