【发布时间】:2010-10-06 18:14:13
【问题描述】:
我还有一个用 Windows 窗体编写的桌面应用程序,大小适中(几十个主要窗体由数据库中的 46 个表支持)。我正在考虑用 WPF 重写 UI,但在我去那里之前,我很好奇是否有任何关于进行这种转换的战争故事。
我使用LLBLGen 来生成我的低级数据访问对象,并且我在其之上有一个业务逻辑层。尽管主表单使用缓存对象来最小化更常见的导航路线上的往返行程,但表单是数据绑定到业务逻辑对象的。 UI 从不直接与数据库对话:总是通过 UI -> 业务逻辑 -> 低级 -> 数据存储路径。
我经常使用的一个控件是 TreeView,它充当视觉指南和短程导航工具。该树已通过图标、突出显示颜色进行了大量自定义,这是我最担心移植的控件。
有没有什么故事可以说服我继续转换(或者相反,等到微软更接近于从 Windows 窗体下撤出地毯)?
编辑:有人在评论中问我有什么转变的动机。我对未来的校对有些担心:我有 500,000 行代码,这些代码最初是 ASP 和 VBScript。随着时间的推移,我们一直在将功能移植到 ASP.NET 和 C#,但仅在我们对代码进行更改时。好处是我们将成本降到最低,坏处是一半的代码仍然是 ASP 和 VBScript。我担心 Windows 窗体应用程序会出现类似情况。
今天我是否担心 Windows 窗体会消失?甚至还没有接近它……但该应用程序正在从 ASP 和 VBScript 转移到 ASP.NET 和 C#,已经有 9 年的历史,而且这十年可能不会被取代(相反,它会不断发展)。桌面应用程序同样是一个具有多年历史的长期项目。
【问题讨论】:
-
在未来相当长的一段时间内,微软可能不会弃用 WinForms。事实上,我敢说,在 Win32 API 被替换之前,它永远不会被弃用。
-
你想转换的原因是什么?