使用WinForms的MVVM / Presentation模型

我目前正在研究棕色地带应用程序,它是用
winforms编写的,

作为在更高版本中使用
WPF的准备,团队计划至少使用

MVVM / Presentation模型,并将其与winforms绑定…

我已经探讨了这个主题,包括这个网站上的帖子(我非常喜欢),
当煮沸时,wpf的主要优点是:

>绑定控件到xaml中的属性.
>将命令绑定到viewmodel中的命令对象.

第一个特性易于实现(在代码中),或者使用通用控件绑定器,它绑定表单中的所有控件.

第二个功能稍微难以实现,但是如果从所有控件继承并添加命令属性(由内部事件(如click)触发),该属性绑定到ViewModel中的命令实例.

我目前所知道的挑战是:

>实现一个命令管理器,(它将触发命令的CanInvoke方法作为necessery.
> winforms仅支持一个级别的数据绑定:datasource,datamember,wpf更灵活.

在尝试实现这种设计模式时,我是否缺少winform与wpf相比缺乏的任何其他主要功能?

我相信很多人会推荐某种MVP模式,但MVVM / Presentation模型是我的选择,因为我希望将来能够支持WPF.

提前致谢,
埃里克.

最佳答案 请查看
Update Controls .NET.它是Winforms,WPF和Silverlight的开源库,可在数据更改时使控件保持最新.您现在可以开始使用Winforms,然后转换到WPF而无需更改数据模型或视图模型代码.

不幸的是,它没有解决Winforms命令绑定问题.您的按钮单击事件不会从Winforms移植到WPF.但它确实处理了数据绑定问题.

点赞