Fondamentalement, un ViewModel est un wrapper autour de la maquette. Maintenant que peut-être pas très utile encore :-) Pensez à le que le modèle de données que votre application fonctionne avec, dire d'une personne. Maintenant, une personne a un anniversaire et vous pourriez avoir un formulaire pour la saisie de la personne d'anniversaire. Supposons que nous sommes juste à l'aide d'une simple zone de texte de la date s'affiche quelque chose comme 01-02-2009 12:00:00. Pour commencer, nous ne voulons pas le temps de la partie et nous aussi peut-être pas heureux sur le 01-02-2009 partie car cela dépend de vos paramètres régionaux.
Voici donc le Dernier vient de gi. Elle enveloppe la classe Personne et exposés à la date que trois valeurs entières, année, mois et jour. Dans la propriété il essaie de créer une date à partir de différentes valeurs et affiche toutes les erreurs qui pourraient se produire.
Tout simplement dit, un ViewModel est un Modèle wrapper spécifiquement orientées vers un point de vue particulier (à l'écran). Il élimine la plupart IValueConvertors en même temps.
Josh Smith a une bonne explication ici: http://joshsmithonwpf.wordpress.com/2008/11/14/using-a-viewmodel-to-provide-meaningful-validation-error-messages et une grande la discussion ici: http://groups.google.com/group/wpf-disciples/browse_thread/thread/3fe270cd107f184f?pli=1