从Winforms迁移到WPF



我们有一个构建在上面的旧应用程序。Net 1.1框架和Winforms。我们正计划将其迁移到的最新版本。网

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

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

我们应该选择Winforms还是WPF?

这是一个非常宽泛的问题。但我的答案是这样的。Winforms设计器是一种痛苦的体验,它无论如何都不如WPF灵活,所以如果这对你来说很重要,那么你应该这样做。

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

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

迁移时会遇到什么样的陷阱?

有太多的东西无法命名。我们迁移中最常见的一个是转换WinForms中的现有逻辑(是的,它是一个糟糕的、外包的、充满业务逻辑的遗留WinForms),并将其连接到WPF元素。这个过程本身并没有那么复杂,但当你有太多交织在一起的片段时,它可能会变得非常丑陋。

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

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

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

2) 将其替换为ElementHost。

3) 然后在该ElementHost中,您将拥有新重写的WPF对应项。

4) 对它进行测试,确保它能与其他元素一起正常工作。

5) 转到步骤1,直到该窗口上的其他内容被替换为止(您可以根据您的特定情况,以任何方式替换窗口上的元素,包括页眉、中页、页脚或顶部、底部)。

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

最新更新