当前位置:  开发笔记 > 编程语言 > 正文

将大型C#winforms应用程序升级到WPF的最简单方法是什么?

如何解决《将大型C#winforms应用程序升级到WPF的最简单方法是什么?》经验,为你挑选了1个好方法。

我在一个大型的C#应用​​程序(大约450,000行代码)上工作,我们经常遇到桌面堆和GDI处理泄漏的问题.WPF解决了这些问题,但我不知道升级的最佳方式是什么(我希望这需要很长时间).应用程序只有几种形式,但这些形式可以包含许多不同的用户控件集,这些用户控件是以编程方式确定的.

这是一个内部公司应用程序,因此我们的发布周期非常短(通常为3周发布周期).

是否有一些渐进式的升级路径,还是我们必须在一次大规模的努力中获得成功?



1> Phobis..:

您可以从创建WPF主机开始.

然后,您可以使用控件来托管当前的应用程序.然后,我建议在WPF中创建一个新控件的库.一次一个,您可以创建控件(我建议将它们设置为自定义控件,而不是用户控件).在每个控件的样式中,您可以使用控件来包含"旧"窗体控件.然后,您可以花时间重构并重新创建每个控件作为完整的WPF.

我认为仍然需要初步努力来创建控件包装器并为应用程序设计WPF主机.我不确定应用程序的大小和用户控件的复杂程度,所以我不确定会给你多少努力.相对而言,以这种方式在WPF中启动和运行应用程序的工作量要少得多,速度也快得多.

我不会那样做而忘记它,因为你可能会遇到控件相互叠加的问题(Windows窗体与WPF不兼容,尤其是透明胶片和其他视觉效果)

如果您需要更具体的指导,请向我们提供有关此项目状态的最新信息,或提供更多技术信息.谢谢 :)

推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有