带WinForms的MVVM/表示模型
我目前正在开发一个brownfield应用程序,它是用winforms编写的, 作为在更高版本中使用WPF的准备,out团队计划至少使用 MVVM/表示模型,并将其与winforms绑定 我探索过这个主题,包括这个网站上的帖子(我非常喜欢), 简而言之,wpf的主要优势是:带WinForms的MVVM/表示模型,winforms,data-binding,mvvm,model,presentation,Winforms,Data Binding,Mvvm,Model,Presentation,我目前正在开发一个brownfield应用程序,它是用winforms编写的, 作为在更高版本中使用WPF的准备,out团队计划至少使用 MVVM/表示模型,并将其与winforms绑定 我探索过这个主题,包括这个网站上的帖子(我非常喜欢), 简而言之,wpf的主要优势是: 将控件绑定到xaml中的属性 将命令绑定到viewmodel中的命令对象 第一个特性很容易实现(在代码中),或者使用通用控件绑定器,绑定表单中的所有控件 第二个功能更难实现,但如果从所有控件继承并添加一个命令属性(由内部
- 将控件绑定到xaml中的属性
- 将命令绑定到viewmodel中的命令对象
- 实现commandmanager(必要时将触发命令的CanInvoke方法)
- winforms只支持一个级别的数据绑定:datasource、datamember和wpf更灵活
不幸的是,它没有解决Winforms命令绑定问题。您的按钮单击事件不会从Winforms移植到WPF。但它确实解决了数据绑定问题。您可能会发现很有趣。它显示了如何应用模型视图模型(MVVM)Windows窗体应用程序中的模式。适配器实现为Windows窗体中缺少的命令支持提供了解决方案。您是否考虑过只使用ElementHost将新WPF内容放入现有WinForm应用程序中?我可能会在某个时候这样做……我想到了另一个挑战:DataTemplates。。我将使用usercontrol并将其绑定到我的viewmodel上的一个对象上,而不是使用DataItemlates…:))我将在下周开始制作一个原型,有人对我的结果感兴趣吗?这篇文章可能对那些寻找CommandManager实现的人有用: