DUPE: 什么情况下选择Windows Forms而不是WPF?
我们现在需要决定是否选择WPF作为构建我们下一代产品的平台。
个人认为,由于性能和技术成熟度(例如Blend等UI编辑器的质量),我有些担心使用这种技术。
DUPE: 什么情况下选择Windows Forms而不是WPF?
我们现在需要决定是否选择WPF作为构建我们下一代产品的平台。
个人认为,由于性能和技术成熟度(例如Blend等UI编辑器的质量),我有些担心使用这种技术。
个人而言,我非常喜欢WPF。
它需要从Winforms进行根本性思维转变。在Winforms中,你可以将东西拖放到一个窗体上。这样可以快速轻松地完成80%的工作,但是当你需要超出WinForms明确涵盖的范围时,你就会进入一个痛苦的世界。
在WPF中,你首先要做的是关闭可视化编辑器。你的UI代码从一个丑陋的混乱变成了美丽的东西。此外,它非常强大和灵活,一旦你掌握了它,你可以做出令人惊叹的事情。
WPF的缺点是它比WinForms更加沉重,学习曲线相对较大。然而,这是未来的发展方向,除非你只是制作一个琐碎的应用程序,否则我会毫不犹豫地选择WPF。
如果您不需要非常光滑的UI界面,带有动画等等,我认为还没有必要立即转向WPF。
如果您担心性能问题,您应该查看以下这些MSDN页面:
我的猜测是,只要有适当的DirectX硬件支持,WPF甚至可以胜过Winforms,因为渲染可以直接由GPU完成。
考虑到微软正在使用基于WPF的代码编辑器构建其下一个版本的VS,我发现很难找到WPF不成熟或存在性能问题的支持。
如果您无论如何都能够进行迁移,那么最好升级以增加代码库的寿命。如果您的Winforms代码编写正确,那么开始将其转移到WPF应该不会非常困难。
我大约10周前开始自学WPF,然后在过去的2周里,我实际上写了一个WPF应用程序。
我来自ASP.NET,我喜欢WPF。我喜欢XAML标记语言,它比在WinForm中拖动项目并确保它们在正确位置更有意义。
在WPF中,样式更容易,您可以快速制作带有圆角边框。
使用Expression Blend,您可以设计一个具有动画效果的非常漂亮的界面。
我在Vista(家庭版)和XP(工作)上开发了一个WPF应用程序,它们都看起来非常好。
我对WPF非常满意,不会回到WinForms。
我的感觉是,如果你对winforms的外观和感觉感到满意,那就坚持使用它。如果你认为你会进行任何视觉定制,那就选择WPF。但是我已经使用winforms很长时间了,WPF很少用过。如果我刚开始学习,我可能会专注于学习WPF,因为它确实更加灵活。