我正在使用MVVM模型开发一个应用程序,但我已经到了需要选择使用哪个框架的地步。

可能的方案包括:

MVVM工具包 MVVM基金会 WPF应用框架(WAF) 光MVVM 这份原稿 有把握的事情 棱镜 ReactiveUI

根据你的经验,哪个更好?


当前回答

混合你自己的!

我使用PRISM的EventAggregator, MVVM foundation的ViewModelBase等等。我还调整了RelayCommand(在某些地方调用的DelegateCommand)来接受其他数据,等等。

我不会只推荐一个框架本身。

其他回答

混合你自己的!

我使用PRISM的EventAggregator, MVVM foundation的ViewModelBase等等。我还调整了RelayCommand(在某些地方调用的DelegateCommand)来接受其他数据,等等。

我不会只推荐一个框架本身。

如果您正在寻找WPF/MVVM应用程序框架之上的可扩展性(编写插件的能力),那么您可能会对SoapBox Core免责声明感兴趣:它是我写的。它是开源的,所以即使你不使用它,也可能有一些好的想法适合你。它在可扩展性和IoC方面都使用了MEF。

我打赌会在Caliburn和MVVMlight上,似乎没有多少mvvm框架支持silverlight。我可以预见,将会有更多的MVVM框架可供选择,而不是IoC框架,因为建立MVVM框架的特性边界更加困难。我想找出哪一个更适合你的项目的最好方法是列出/比较它们的功能。

也可以看看Mix10。我从演讲中学到了很多:构建你的mvvm框架。

另一个需要考虑的是MEFedMVVM。我已经在几个项目中使用了它,它是轻量级的,非侵入性的,并且支持Silverlight和WPF。对于使用Blend产品的用户,它还能够支持设计时数据。

咩。Mvvm实际上并不需要一个完整的框架来支持IMO。如果你理解了这个概念,从一个实现INotify的干净的VM基类开始,然后从那里开始就很简单了。