2009-06-30 3 views
0

Disons que j'ai les applications Silverlight suivantes:change Application.Current lors de l'utilisation de réflexion pour créer une instance d'une autre classe d'application

  1. App1.xap
  2. App2.xap
  3. App3.xap

Disons que je lance App1.xap comme fichier xap par défaut. Si je charge App2.xap et App3.xap et instancie une classe Application dans l'un des deux autres XAP. L'application.Current change pour être cette nouvelle instance.

System.Windows.Application obj = Activator.CreateInstance(type) as System.Windows.Application; 

Je ne veux pas l'application en cours pour changer. Je veux juste obtenir les dictionnaires de ressources fusionnés hors de la classe Application.

Répondre

0

Ne serait-il pas plus simple de partager simplement les dictionnaires de ressources, puis de compiler les ressources dans chaque fichier xap? Il semble que cette approche rende le processus beaucoup plus compliqué qu'il ne l'exige.

+0

Les dictionnaires de ressources transmettent uniquement le contenu XAML et non les classes. Cette approche permet de coupler étroitement ce contenu à chaque fichier XAP. Si nous chargeons les assemblages à l'aide de la réflexion, il vous suffit d'implémenter et de gérer les interfaces pour les classes que vous chargez et utilisez. – markti

Questions connexes