我已经阅读了很多关于Model-View-ViewModel模式的好文章,我的团队打算在最新版本的应用程序中实现这种模式。我仍然没有完全得到所有的位来使这项工作。我想找到一个我可以解决这个模式的好例子。小规模的东西,就像Jason 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 并在此进行大讨论:< a href =“http://groups.google.com/group/wpf-disciples/browse_thread/thread/3fe270cd107f184f?pli=1”rel =“noreferrer”> http://groups.google.com/group/wpf-弟子/ browse_thread /线程/ 3fe270cd107f184f?PLI = 1

其他提示

Prism 4.0现在包含用于创建MVVM应用程序的文档。这是针对使用Prism库的,但这些概念通常适用于MVVM模式。

http://compositewpf.codeplex.com/releases

这里还有一个要添加到列表中的内容:Tony Sneed的简单MVVM工具包(您真正的): 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

John Papa(PDC 2010):

http://player.microsoftpdc.com/Session/76864d75 -b4da-4858-aac7-786c5f28e344

对于ViewModel的最好解释是由Scott Hanselman在欧洲的MVC演讲中给出的。

单线响应是 - 它是一个模型(类),其唯一目的是发送特定视图所需的所有必要数据,以及在两个情况下从视图接收修改数据方式绑定。

看看我在Silverlight中关于真实MVVM的文章。虽然它不适合新手,并且主要针对从事现实生活项目的专业开发人员。

http://alexburtsev.wordpress的.com / 2011/03/05 / MVVM图案在-Silverlight的和WPF /

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top