哪个MVVM框架是WPF应用程序的最佳框架

我是WPF的初学者。 在WPF上开发最好的大中型项目之前,我需要为WPF开放源代码/免费的MVVM框架,所以请告诉我哪个MVVM框架是WPF应用程序的正确select,在这个框架下,我可以开发非常有吸引力的UI对于企业应用程序,并提供良好的教程和大量的示例代码熟悉框架的stream程。 请详细讨论。 谢谢。

这个问题真的很难客观回答,因为最适合你的是你的要求和偏好。 我自己使用了两个框架,所以那些是我可以谈论的。

MVVM Light Toolkit是最受欢迎的MVVM框架之一,它是一个多function的框架,允许您以自己想要的方式构build应用程序。 它提供了帮助解决构buildMVVM应用程序中的一些主要难点,但仍需要您自己编写大量的样板代码。 这对于一个新的WPF开发者来说可能是好的,因为它并没有隐藏太多的WPF基础设施。

我个人最喜欢的是Caliburn.Micro ,它是WPF,Silverlight和Windows Phone 7的一个有见地的MVVM框架。它使用了一种常规的configuration方法,它可以使你免于编写许多枯燥乏味的pipe道代码。 这也意味着它需要你同意这个框架的意见 – 如果你不遵守这个惯例,那么它就会为了使所有的工作都开展一场艰苦的斗争。

Caliburn.Micro也具有刚刚工作的质量,如果你真的不明白发生了什么事情,事情似乎有点神奇。 这很好,只要事情正在工作。 但是,如果他们不这样做,或者你需要做一些事情,那么这个框架并没有devise出来,你需要对WPF有一个很好的理解来find你的方向。

您需要评估不同框架和工具包的function,并自行决定。

有很多stream行的开源MVVM框架。

可能三种最受欢迎​​的是MVVM Light , Caliburn或Prism (自v4起,支持并提供MVVM的示例)。 三者都有优点和缺点,都很好。

棱镜确实有一个“微软”(赞助)产品的优势,因为它由微软模式和实践小组推出。 这往往有助于许多大企业的采用。 话虽如此,它也比其他stream行的选项更大,更复杂,特别是因为它的目标不仅仅是成为“MVVM框架”,而是用于复合应用程序开发的通用库。


我是WPF的初学者。

我也想过,在select框架之前,我会花一些时间来真正学习和理解MVVM。 我写了一个系列文章,以帮助从Windows窗体MVVM转换到WPF,这可能是有价值的。

通常情况下,你很难select一个框架,直到你理解它真正实现的是什么。 大多数MVVM都可以很容易地完成,而且没有任何框架。 “框架”增加了一些实用工具,使MVVM开发的某些难点更容易处理 – 例如,MVVM Light有一个很好的Messenger类,它有助于ViewModel之间的通信,这有时候会非常棘手。 Caliburn有一些很棒的工具来帮助devise性能等。但是,除非你了解基础知识,否则select一个工具包可能会让你的生活变得更加复杂而不是简单。

也许为了获得MVVM的味道,你根本不需要使用任何库? 实现基本的东西很容易(DelegateCommand和类来引发属性通知 – 是你需要的一切),但是这将帮助你理解MVVM,而不需要引入任何库。 在这个实现过程中,你可能遇到一些障碍,你将不得不自己解决,而不需要任何第三方库。 我相信这可能会帮助您更详细地阐述MVVM模式(当然,如果您将有一个很好的指导),但不介绍库提供的具体内容。

也许我是一个轮子发明家,但我仍然不使用任何MVVM库。 我只是没有看到他们能够提供的任何东西,以便将另一个图书馆引入到项目中。 实现MVVM所需的基本function通常并不需要太多的工作,但最终你会得到高度灵活的代码(因为所有的代码都是你的)。