MVVM (avec WPF) - Liaison de Plusieurs Vues de la Même ViewModel

J'ai récemment commencé à enquêter sur le pattern MVVM avec WPF pour un projet à venir. J'ai commencé avec Josh Smith l'article MSDN. j'ai une question (bien nombreux, mais nous allons commencer avec une):

J'ai un IndividualViewModel qui expose les propriétés du modèle. J'ai besoin de deux points de vue "Ajouter une Personne" et "Modifier Individuel" qui sont très similaires, comme vous pouvez l'imaginer. Ce que j'ai fait actuellement est d'avoir 2 sous-classes AddIndividualViewModel et EditIndividualViewModel qui exposent les Ajouter et de Modifier des commandes, respectivement. J'ai aussi 2 de même nommé points de vue qui se lient à ces.

Maintenant cette méthode fonctionne et ces classes sont assez petits, de toute façon, mais je me demandais si c'est possible pour moi d'avoir juste le modèle de vue, qui expose à la fois les commandes. J'aurais encore 2 points de vue qui se lient à ce point de vue même modèle, l'exposition de la commande appropriée comme un bouton. Je ne suis pas tout à fait sûr de savoir comment le faire. Dans la fenêtre principale ressources que j'ai quelque chose comme:

        <DataTemplate DataType="{x:Type ViewModels:AddIndividualViewModel}">
            <Views:AddIndividualView />
        </DataTemplate>

Avec cette méthode de liaison que vous ne pouvez avoir qu'un one-to-one de liaison, c'est à dire le même point de vue est toujours indiqué pour un modèle de vue. Est-il un moyen de passer automatiquement de la vue en fonction d'une propriété sur le modèle de vue (p. ex. IndividualViewModel.Mode). Est-il une approche différente, je devrais être pris en compte?

Notez que la fenêtre principale a une collection de modèles de vue et montre chaque onglet.

Merci!

OriginalL'auteur Bimf | 2010-01-01