2017-06-29 1 views
0

J'essaye de développer une application PRISM WPF dans laquelle je vais avoir deux vues ou plus en fonction du même ViewModel. Au début, j'ai pensé à utiliser Unity pour faire une injection à travers le constructeur de la vue et dans le constructeur définir le DataContext. Cette idée a été rejetée par l'équipe parce qu'ils ne veulent rien dans le code-behind. De plus, les vues utilisent un ViewModelLocator autowired au ViewModel. Alors, ma seule autre pensée est de faire un module avec une seule vue, mais comment puis-je partager le même ViewModel entre les modules si j'utilise Unity IOC? Des idées avec une sorte d'exemple?Utilisation de PRISM pour partager les mêmes ViewModels entre les vues

Répondre

0

Ne partagez pas les instances ViewModels entre les vues. Chargez simplement les données selon vos besoins. Mais si vous devez vous tirer une balle dans le pied, il y a plusieurs façons de le faire. Le plus simple serait d'enregistrer votre ViewModel en tant que singleton dans votre conteneur.

+0

J'ai pensé à cette idée immédiatement quand on m'a confié cette tâche pour la première fois, mais l'équipe n'appréciait pas non plus cette idée. Pire au pire, je leur ai dit que nous pourrions avoir à mettre au rebut ce qu'ils ont et aller avec votre [cours Pluralsight] (https://www.pluralsight.com/courses/prism-problems-solutions) sur le chargement des vues dépendantes –

+0

Si votre équipe aime l'idée de partager des instances de MV entre différentes vues, alors vous avez de plus gros problèmes –