从 Winforms 迁移到 WPF
Migrating from Winforms to WPF
我们有一个基于 .Net 1.1 Framework 和 Winforms 的旧应用程序。我们正计划将其迁移到最新版本的 .Net。
以下是我心中的一些问题运行:
- 我们应该使用 Winforms 还是 WPF?
- 我们希望设计和结构与我们现在拥有的完全相同。
- 迁移时会遇到哪些陷阱?
- 有什么地方可以查看迁移过程吗?
- 还有其他建议吗?
Should we go with Winforms or WPF?
这是一个非常宽泛的问题。但我对此的回答是这样的。 Winforms 设计器是一种痛苦的体验,它无论如何都不像 WPF 那样灵活,所以如果这对您很重要,那么您应该这样做。
We want the design and structure to the exact same as what we have now.
您在 Winforms 中所做的任何事情都可以在 WPF 中复制,所以不用担心。
What kind of pitfalls can I expect when migrating?
我们的迁移中最常见的一个是转换 WinForms 中的现有逻辑(是的,它是一个糟糕的、外包的、充满业务逻辑的遗留 WinForms)并将其连接到 WPF 元素。这个过程本身并没有那么复杂,但是当你有太多相互交织的部分时,它会变得非常难看。
Is there any place where I can lookup to see the process of migration?
迁移过程几乎必须是迭代的。因此,根据我的研究(文章、Whosebug 答案等),许多人采用的方式是通过 ElementHosts。
1) 将您的 WinForms 中您想要切换到 WPF 的特定部分作为目标,然后将其移除。
2) 将其替换为 ElementHost。
3) 然后在该 ElementHost 中,您将拥有新重写的 WPF 副本。
4) 对其进行测试,确保它与其余元素一起正常工作。
5) 转到第 1 步,直到 window 上的其余内容被替换(您可以使用任何您想替换 window 上的元素的方式来执行页眉、中间、页脚或顶部、底部=34=]这取决于你的具体情况)。
6) 一旦大部分内容被替换,您就可以将所有这些 WPF 用户控件组合到一个 WPF Window.
我们有一个基于 .Net 1.1 Framework 和 Winforms 的旧应用程序。我们正计划将其迁移到最新版本的 .Net。
以下是我心中的一些问题运行:
- 我们应该使用 Winforms 还是 WPF?
- 我们希望设计和结构与我们现在拥有的完全相同。
- 迁移时会遇到哪些陷阱?
- 有什么地方可以查看迁移过程吗?
- 还有其他建议吗?
Should we go with Winforms or WPF?
这是一个非常宽泛的问题。但我对此的回答是这样的。 Winforms 设计器是一种痛苦的体验,它无论如何都不像 WPF 那样灵活,所以如果这对您很重要,那么您应该这样做。
We want the design and structure to the exact same as what we have now.
您在 Winforms 中所做的任何事情都可以在 WPF 中复制,所以不用担心。
What kind of pitfalls can I expect when migrating?
我们的迁移中最常见的一个是转换 WinForms 中的现有逻辑(是的,它是一个糟糕的、外包的、充满业务逻辑的遗留 WinForms)并将其连接到 WPF 元素。这个过程本身并没有那么复杂,但是当你有太多相互交织的部分时,它会变得非常难看。
Is there any place where I can lookup to see the process of migration?
迁移过程几乎必须是迭代的。因此,根据我的研究(文章、Whosebug 答案等),许多人采用的方式是通过 ElementHosts。
1) 将您的 WinForms 中您想要切换到 WPF 的特定部分作为目标,然后将其移除。
2) 将其替换为 ElementHost。
3) 然后在该 ElementHost 中,您将拥有新重写的 WPF 副本。
4) 对其进行测试,确保它与其余元素一起正常工作。
5) 转到第 1 步,直到 window 上的其余内容被替换(您可以使用任何您想替换 window 上的元素的方式来执行页眉、中间、页脚或顶部、底部=34=]这取决于你的具体情况)。
6) 一旦大部分内容被替换,您就可以将所有这些 WPF 用户控件组合到一个 WPF Window.