C# 如何简化从WinForms到WPF的转换

C# 如何简化从WinForms到WPF的转换,c#,.net,wpf,mvvm,C#,.net,Wpf,Mvvm,我正在开发一个大型Winforms应用程序,处理通过网格公开的大量数据。我看到我们最终完全转向了M-V-VM&WPF实现,但现在我们仍然更接近于一团泥,而不是任何类似松耦合的东西 当我们朝着更清晰的关注点分离方向发展时,在WinForms世界中,我们可以实现哪些特定模式,但一旦我们使用WPF,这些模式将产生更平滑的过渡?具体来说,是否有任何关于以接近WPF/MVVM的方式利用WinForms受限绑定和事件处理的指南?建议您安装Prism,并查看示例 我建议您继续使用完整的WPF方法。如果您有w

我正在开发一个大型Winforms应用程序,处理通过网格公开的大量数据。我看到我们最终完全转向了M-V-VM&WPF实现,但现在我们仍然更接近于一团泥,而不是任何类似松耦合的东西


当我们朝着更清晰的关注点分离方向发展时,在WinForms世界中,我们可以实现哪些特定模式,但一旦我们使用WPF,这些模式将产生更平滑的过渡?具体来说,是否有任何关于以接近WPF/MVVM的方式利用WinForms受限绑定和事件处理的指南?

建议您安装Prism,并查看示例

我建议您继续使用完整的WPF方法。如果您有winforms背景,当您来到WPF时,请给出一些建议

  • 1-坚持MVVM
  • 2-不要为控件编写太多的事件处理程序,而是将它们绑定到命令(ICommand实现)
  • 3-永远不要试图直接处理与数据相关操作的控件。就像尝试将记录直接添加到列表框一样
  • 4-在视图模型中,确保公开用于绑定Treeview、Listview等的集合,并在集合上执行数据操作(添加项、删除项等)
  • 5-尽可能使用后台工作程序(如用于通过服务加载数据等操作)
最后,阅读这篇关于代码项目的文章
Josh Smith的“在Windows窗体和WPF中创建相同的程序”。

链接已断开,它只是重定向到Codeplex主页。