优秀的Silverlight MVVM实践示例

优秀的Silverlight MVVM实践示例,silverlight,mvvm,Silverlight,Mvvm,我已经阅读了许多关于模型-视图-模型模式的好文章,我的团队打算在最新版本的应用程序中实现此模式。我仍然没有把所有的部分都放在一起来完成这项工作。我想找到一个很好的例子,我可以通过这个模式。一些小规模的东西,很像Jason Dolinger在他的视频中所做的,但我想要一些我可以自己以较慢的速度完成的东西 提前感谢您的帮助。基本上,ViewModel是一种包装模型。现在这可能还不是很有帮助:-)比如说,将模型看作是应用程序使用的数据。现在一个人有了生日,您可能需要一个表单来输入这个人的生日。假设我们

我已经阅读了许多关于模型-视图-模型模式的好文章,我的团队打算在最新版本的应用程序中实现此模式。我仍然没有把所有的部分都放在一起来完成这项工作。我想找到一个很好的例子,我可以通过这个模式。一些小规模的东西,很像Jason Dolinger在他的视频中所做的,但我想要一些我可以自己以较慢的速度完成的东西


提前感谢您的帮助。

基本上,ViewModel是一种包装模型。现在这可能还不是很有帮助:-)比如说,将模型看作是应用程序使用的数据。现在一个人有了生日,您可能需要一个表单来输入这个人的生日。假设我们只是使用一个简单的文本框,日期显示为01-02-2009 12:00:00AM。首先,我们不想要时间部分,我们也可能对01-02-2009部分不满意,因为这取决于您的区域设置

这里是ViewModel。它包装Person类并将日期公开为三个整数值:年、月和日。在属性集中,它尝试从不同的值生成日期,并显示可能发生的任何错误

简单地说,ViewModel是专门针对特定视图(显示)的模型包装器。它同时消除了大多数变频器


Josh Smith在这里有一个很好的解释:这里有一个很大的讨论:

Nikhil Kothari有一篇关于如何在他的Silverlight.FX库中使用该模式的帖子。 在这里查看:

还有:


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


我最近经历了很多,其中两个最突出的是:

丹·瓦林(LIDNUG):

约翰·帕帕(PDC 2010):


还有一个要添加到列表中:Tony Sneed的Simple MVVM Toolkit(您的真名):


该工具包由助手类、VisualStudio项模板和代码段组成。除了实际的工具包外,还有一个示例应用程序,其中包含如何使用MVVM模式构建基本Silverlight应用程序的分步说明。

请看我关于Silverlight中真实MVVM的文章。虽然它不是针对新手,而且主要针对从事实际项目的专家开发人员


斯科特·汉斯曼在欧洲MVC演讲中对ViewModel给出了最好的解释


一行响应是——它是一个模型(类),创建该模型的唯一目的是发送特定视图所需的所有必要数据,以及在双向绑定的情况下从视图接收修改后的数据。

添加了一系列新功能、改进的文档和更多示例:。