J'apprends MVVM en utilisant l'échantillon créé par Josh Smith à http://msdn.microsoft.com/en-us/magazine/dd419663.aspx Je voulais ajouter une fonctionnalité de mise à jour dans le code existant,MVVM ouverture nouvel espace de travail Autre espace de travail (au lieu de Main ControlPanel)
Comme quand voit l'utilisateur les données sur la grille de l'utilisateur 'Tous les clients' peuvent modifier un enregistrement particulier en double cliquant dessus, un double clic ouvrira un nouvel onglet (même mode view/view que celui utilisé pour le nouveau client). Je n'ai aucune idée de comment le faire, dois-je l'appeler par mainwindowviewmodel ou il y a une autre façon.
Merci à tous et Bonne programmation
Gaurav Joshi
Salut Mark, Merci pour votre message et Désolé, je suis en train d'écrire dans les commentaires, n'a pas trouvé d'autre moyen sur stackoverflow pour répondre. Pensez-vous qu'il est correct de déclarer static 'workspace' et de créer une nouvelle commande dans customlookmodel self qui créera un nouvel espace de travail et l'ajoutera à l'espace de travail mainwindowviewmdodel. De cette façon, il ne doit pas être implémenté. Je veux juste quelques entrées expertes Merci Gj – Gaurav
En général, j'essaie de rester à l'écart de la statique autant que possible, car elle a tendance à nuire à la testabilité, à la flexibilité et à l'OO-ness générale. Le point entier de ViewModels est qu'ils modélisent des vues. Vous ne pouvez pas avoir un modèle par vue s'il n'y a aucune instance du modèle. Il se peut qu'il n'y ait qu'un seul Workspace, mais je dirais que l'utilisation de la statique va à l'encontre de toute la philosophie de MVVM. Je sais que mon raisonnement semble un peu vague, mais ce ne sont que des considérations générales basées sur des années d'expérience :) –
Mark. Le seul problème que je vois dans votre réponse est que vous recommandez de placer la propriété IsSelected dans le modèle client. Je pense qu'il devrait aller dans la classe CustomerViewModel parce que c'est une propriété orientée GUI, et un objet modèle client n'a vraiment aucun concept de ce que signifie être sélectionné. –