我们有一个基于.Net 1.1 Framework和Winforms构建的旧应用程序。我们计划将其迁移到最新版本的.Net。
以下是我脑海中浮现的一些问题:
答案 0 :(得分: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窗口中。