2010-12-09 7 views
5

alt textinformations passer d'un modèle de vue à l'autre

J'utilise le modèle architectural M-V-VM.

Je veux que mon programme ait deux vues, Voir A et Voir B. Je démarre le programme avec Voir A. Voir B est montré par le programme lorsque je double-clique sur un élément dans Voir A.

Comment est-ce que je devrais structurer mon programme de sorte que je puisse réaliser ceci?

Répondre

2

Demandez à un ViewModel comme:

  • ParentViewModel
    • ChildViewModel1
      • IsVisible
      • Une commande qui permet de basculer la propriété IsVisible de ChildViewModel
    • ChildViewModel2
      • IsVisible

et Voir comme:

  • ParentView
    • ViewPart1
      • Visibilité liée à ChildViewModel1.IsVisible (utilisation BooleanToVisibilityConverter)
      • Un bouton lié à commande qui permet de basculer la visibilité
    • ViewPart2
      • Visibilité liée à ChildViewModel1.IsVisible (utilisation BooleanToVisibilityConverter)

Cela devrait résoudre votre problème.

+0

Les objets non visibles sont-ils toujours conservés en mémoire? –

+0

Oui. Comme vous l'avez dit, ils ne sont tout simplement pas visibles. – decyclone

+0

Une autre question, quel est le rôle de ChildViewModel2? –

1

Vous pourriez être intéressé par l'exemple d'application BookLibrary du WPF Application Framework (WAF). Il affiche une vue principale/détaillée avec deux vues séparées et deux ViewModels distincts. De plus, il dispose d'une boîte de dialogue modale incluant un propre ViewModel pour l'opération "Lend To" qui est connectée au livre sélectionné.

Questions connexes