2011-06-04 5 views
2

(en utilisant WPF/C#, MVVM, Entity Framework):ViewModels problème simple synchronisation dans WPF

J'ai deux fenêtres de dialogue non modale. Les deux fenêtres utilisent les mêmes entités. Mais deux ViewModels différents parce que les ViewModels sont créés dans les deux constructeurs de fenêtres et donc deux ObjectContexts différents.

Question: Deux ViewModels utiliser deux ObjectContexts (EF), mais je dois avoir les deux fenêtres synchronisées. Autrement dit, lorsque l'utilisateur modifie certaines entités dans une fenêtre, la seconde doit être notifiée. Les entités sont affichées sous forme de listes avec des détails.

S'il vous plaît, quelle est la principale façon de faire cela dans MVVM?

+0

Cette 'synchronisation' est le point d'un modèle. (ie: le premier 'M' dans MVVM) –

Répondre

2

Je pense que vous devez faire un pas en arrière ici. Il me semble que ce que vous voulez vraiment, c'est partager un seul ViewModel sur deux fenêtres différentes, alors pourquoi ne faites-vous pas cela? Déplacez la responsabilité de la création de votre ViewModel hors des agents de ces deux fenêtres et placez-le dans quelque chose qui sera responsable d'instancier vos fenêtres avec une instance ViewModel partagée.