从Winforms迁移到WPF

Abh*_*bhi 0 .net c# migration wpf winforms

我们有一个基于.Net 1.1 Framework和Winforms构建的旧应用程序.我们计划将其迁移到最新版本的.Net.

以下是我脑海中浮现的一些问题:

  1. 我们应该使用Winforms还是WPF?
  2. 我们希望设计和结构与现在完全相同.
  3. 迁移时我可以期待什么样的陷阱?
  4. 有什么地方可以查找以查看迁移过程吗?
  5. 还有其他建议吗?

Ave*_*isG 8

我们应该使用Winforms还是WPF?

这是一个非常广泛的问题.但我对此的回答是这样的.Winforms设计师是一个痛苦的经历,它不像WPF那样灵活,所以如果这对你很重要,那么你应该这样做.

我们希望设计和结构与现在完全相同.

你在Winforms中做的任何事都可以在WPF中复制,所以不用担心.

迁移时我可以期待什么样的陷阱?

有太多人说我们迁移的最常见的一个是转换WinForms中的现有逻辑(是的,它是一个糟糕的,外包的,充满业务逻辑的遗留WinForms)并将其连接到WPF元素.这个过程本身并不复杂,但当你有太多交织在一起的碎片时,它会变得非常难看.

有什么地方可以查找以查看迁移过程吗?

迁移过程几乎必须是迭代的.因此,基于我的研究(文章,StackOverflow答案等),许多人这样做的方式是通过ElementHosts.

1)针对您想要切换到WPF然后将其取出的WinForms的某个部分.

2)用ElementHost替换它.

3)然后在那个ElementHost中你将拥有你新重写的WPF对应物.

4)测试它确保它与其余元素一起正常工作.

5)转到步骤1,直到该窗口上的其他东西被替换(你可以做任何你想要更换窗口上的元素的方式,根据你的具体情况,你可以做标题,中间,页脚或顶部,底部).

6)一旦更换了大部分内容,您就可以将所有这些WPF用户控件组合到WPF窗口中.

  • 并且,对于所有.NET的爱,请使用MVVM作为WPF片段. (4认同)