gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 08:06:54 25 4
gpt4 key购买 nike

我处理一个大型 C# 应用程序(大约 450,000 行代码),我们经常遇到桌面堆和 GDI 句柄泄漏问题。 WPF 解决了这些问题,但我不知道升级的最佳方式是什么(我预计这会花费很长时间)。该应用程序只有几种形式,但它们可以包含许多不同的用户控件集,这些控件是通过编程确定的。

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

是否有一些渐进的升级路径,或者我们是否必须付出巨大的努力才能承受冲击?

最佳答案

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

然后您可以使用 控件来承载您当前的应用程序。然后,我建议在 WPF 中创建一个新控件库。一次一个,您可以创建控件(我建议将它们设为自定义控件,而不是用户控件)。在每个控件的样式中,您可以开始使用 控件来包含“旧”Windows 窗体控件。然后您可以花时间重构每个控件并将其重新创建为完整的 WPF。

我认为创建控件包装器和为应用程序设计 WPF 主机仍需要初步努力。我不确定应用程序的大小和/或用户控件的复杂性,所以我不确定这对您来说需要付出多少努力。相对而言,以这种方式在 WPF 中启动和运行应用程序要省力得多,而且速度要快得多。

我不会只是这样做然后忘记它,因为您可能会遇到控件相互重叠的问题(Windows 窗体不能很好地与 WPF 配合使用,尤其是透明胶片和其他视觉效果)

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

关于c# - 将大型 C# winforms 应用程序升级到 WPF 的最简单方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/111817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com