如何简化从WinForms到WPF的过渡

Dou*_*las 7 .net c# wpf mvvm

我正在处理一个大型Winforms应用程序,处理通过网格暴露的大量数据.我看到我们最终完全转向MV-VM和WPF实现,但现在我们仍然比任何类似松散耦合的球更接近泥球.

随着我们朝着更清晰的关注点分离发展,我们可以在WinForms世界中实现哪些特定模式,但是一旦我们采用WPF暴跌就会产生更平滑的过渡?具体来说,有没有关于以近似WPF/MVVM的方式利用WinForms有限绑定和事件处理的指导?

ama*_*int 4

推荐您安装 Prism,并查看示例。

http://www.codeplex.com/CompositeWPF

我建议您继续使用完整的 WPF 方法。如果你有 winforms 背景,当你接触 WPF 时,有一些建议

  • 1 - 坚持 MVVM
  • 2 - 不要为控件编写太多事件处理程序,而是将它们绑定到命令(ICommand 实现)
  • 3 - 切勿尝试直接处理控件以进行数据相关操作。就像尝试将记录直接添加到列表框一样
  • 4 - 在视图模型中,确保公开用于绑定 Treeview、Listview 等的集合,并在集合之上执行数据操作(添加项目、删除等)。
  • 5 - 尽可能使用后台工作者(例如通过服务加载数据等操作)。

最后,阅读 Josh Smith 撰写的有关代码项目http://www.codeproject.com/KB/WPF/winforms2wpf.aspx “在 Windows 窗体和 WPF 中创建相同程序”的文章。