我已经阅读了许多关于 Model-View-ViewModel 模式的好文章,我的团队打算在我们的应用程序的最新版本中实现这种模式。我仍然没有完全了解所有这些可以一起完成这项工作的部分。我想找到一个可以解决的这种模式的好例子。小规模的事情,就像 Jason Dolinger 在他的视频中所做的那样,但我想要一些我可以自己以较慢的速度完成的事情。
在此先感谢您的帮助。
我已经阅读了许多关于 Model-View-ViewModel 模式的好文章,我的团队打算在我们的应用程序的最新版本中实现这种模式。我仍然没有完全了解所有这些可以一起完成这项工作的部分。我想找到一个可以解决的这种模式的好例子。小规模的事情,就像 Jason Dolinger 在他的视频中所做的那样,但我想要一些我可以自己以较慢的速度完成的事情。
在此先感谢您的帮助。
基本上 ViewModel 是模型的包装器。现在这可能还不是很有帮助:-) 将模型视为您的应用程序使用的数据,比如说一个人。现在一个人有一个生日,您可能希望有一个表格来输入这个人的生日。假设我们只是使用一个简单的 TextBox,日期显示为 01-02-2009 12:00:00AM。对于初学者,我们不想要时间部分,我们也可能对 01-02-2009 部分不满意,因为这取决于您的语言环境设置。
所以这里 ViewModel 来了。它包装了 Person 类并将日期公开为三个整数值,年、月和日。在属性集中,它尝试从不同的值构建日期并显示可能发生的任何错误。
简单地说,ViewModel 是专门针对特定视图(显示)的模型包装器。它同时消除了大多数 IValueConvertor。
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
Prism 4.0 现在包括用于创建 MVVM 应用程序的文档。这是针对使用 Prism 库的,但这些概念通常适用于 MVVM 模式。
这里还有一个要添加到列表中的内容:Tony Sneed 的 Simple MVVM Toolkit(您的真正的):http ://simplemvvmtoolkit.codeplex.com 。
该工具包由帮助类、Visual Studio 项模板和代码片段组成。除了实际的工具包之外,还有一个示例应用程序,其中包含有关如何使用 MVVM 模式构建基本 Silverlight 应用程序的分步说明。
Nikhil Kothari 有一篇关于如何在他的 Silverlight.FX 库中使用该模式的帖子。在这里查看:http: //www.nikhilk.net/ViewModel-Pattern-DLR.aspx
我最近经历了很多,其中两个突出的是:
丹·瓦林 (LIDNUG):
http://www.lidnug.org/Archives.aspx
约翰爸爸的(PDC 2010):
http://player.microsoftpdc.com/Session/76864d75-b4da-4858-aac7-786c5f28e344
Scott Hanselman 在欧洲的 MVC 演讲中给出了对 ViewModel 的最佳解释。
单线响应是——它是一个模型(类),创建的唯一目的是发送特定视图所需的所有必要数据,以及在双向绑定的情况下从视图接收修改后的数据。
看看我关于 Silverlight 中真实 MVVM 的文章。虽然它不适合新手,并且主要针对从事现实生活项目的专家开发人员。
http://alexburtsev.wordpress.com/2011/03/05/mvvm-pattern-in-silverlight-and-wpf/