我已经阅读了很多关于Model-View-ViewModel模式的好文章,我的团队打算在最新版本的应用程序中实现这种模式.我仍然没有完全得到所有的位来使这项工作.我想找到一个我可以解决这个模式的好例子.一些小规模很像贾森Dolinger在他的视频确实在这里,但我想的东西,我可以通过我自己以较慢的速度工作.
在此先感谢您的帮助.
基本上,ViewModel是模型的包装器.现在这可能还不是很有用:-)把模型想象成你的应用程序使用的数据,比如一个人.现在一个人有一个生日,你可能想要一个表格来输入这个人的生日.假设我们只是使用一个简单的TextBox,日期会显示01-02-2009 12:00:00 AM之类的内容.对于初学者我们不希望时间部分,我们也可能不会对01-02-2009部分感到高兴,因为这取决于您的语言环境设置.
所以这里的ViewModel来了.它包装Person类并将日期暴露为三个整数值,年,月和日.在属性集中,它尝试从不同的值构建日期并显示可能发生的任何错误.
所以简单地说,ViewModel是一个专门针对特定视图(显示)的Model包装器.它同时消除了大多数IValueConvertors.
Josh Smith在这里有一个很好的解释:http://joshsmithonwpf.wordpress.com/2008/11/14/using-a-viewmodel-to-provide-meaningful-validation-error-messages并在这里进行大讨论:http:/ /groups.google.com/group/wpf-disciples/browse_thread/thread/3fe270cd107f184f?pli=1