【发布时间】:2009-02-18 17:27:19
【问题描述】:
欺骗:When is Windows Forms the correct choice vs WPF?
这些天,我们必须决定是否使用 WPF 作为构建我们下一代产品的平台。
就我个人而言,我有点害怕使用这项技术,尤其是因为性能和它不成熟(我不确定 Blend 等 UI 编辑器的质量)。
【问题讨论】:
欺骗:When is Windows Forms the correct choice vs WPF?
这些天,我们必须决定是否使用 WPF 作为构建我们下一代产品的平台。
就我个人而言,我有点害怕使用这项技术,尤其是因为性能和它不成熟(我不确定 Blend 等 UI 编辑器的质量)。
【问题讨论】:
就个人而言,我非常喜欢 WPF。
这需要从 Winforms 的思维方式发生根本性转变。 Winforms 您将内容拖放到表单上。这让您真正快速轻松地完成了 80% 的工作,但是当您需要跳出 WinForms 明确涵盖的内容时,您将进入一个痛苦的世界。
在 WPF 中,您要做的第一件事就是关闭可视化编辑器。你的 UI 代码从丑陋的混乱变成了美丽的东西。此外,它非常强大和灵活,一旦你掌握了它,你可以做的事情绝对是惊人的。
WPF 的缺点是它比 WinForms 更重,学习曲线也比较大。但是,这是未来的方式,除非它是您正在制作的微不足道的应用程序,否则我会选择 WPF。
【讨论】:
如果您不需要带有动画等的非常有光泽的 UI,我认为没有理由跳到 WPF... 只是现在。
【讨论】:
如果您担心性能,您应该查看这些 MSDN 页面:
我的猜测是,只要有合适的 DirectX 硬件,WPF 甚至会胜过 Winforms,因为渲染可以直接由 GPU 完成。
【讨论】:
考虑到 MS 正在使用基于 WPF 的代码编辑器构建他们的下一个 VS 版本,我发现很难找到对不“成熟”或存在性能问题的 WPF 的支持。
我想说,如果您无论如何都能够迁移,那么您不妨升级以延长代码库的寿命。如果您的代码在 Winforms 中正确编写,那么开始将其移入 WPF 应该不会很困难。
【讨论】:
大约 10 周前我开始自学 WPF,然后在过去的 2 周里,我实际上已经在 WPF 中编写了一个应用程序。
我来自 ASP.NET,我喜欢 WPF。我喜欢 XAML 标记,它比拖动项目并确保它们在 WinForm 中的正确位置更有意义。
WPF 中的样式更简单,可以快速制作圆角边框。
使用 Expression Blend,您可以设计一个非常漂亮的动画界面。
我在 Vista(家庭)和 XP(工作)上开发了一个 WPF 应用程序,它们看起来都非常好。
我对 WPF 非常满意,不会再使用 WinForms。
【讨论】:
我的感觉是,如果你对 winforms 的外观和感觉感到满意,那就坚持下去。如果您认为您将进行 any 视觉自定义,那么请使用 WPF。但是后来我一直在使用 winforms 很长一段时间,而 WPF 却很少。如果我刚开始,我可能会专注于学习 WPF,因为它确实更加灵活
【讨论】: