我们正在辩论我们未来的
Windows UI开发是否应该是WinForms或WPF.你们中有些人做出了这个决定?我们的大多数应用程序都是LOB应用程序,我不知道我看到这些类型的应用程序对WPF有一个明确的,压倒一切的好处.但是,我对WPF的了解是有限的.我也有点担心,WPF将再次流行几年,然后微软会厌倦它,并推动我们的其他事情.我猜想有一个反对的事实是Visual Studio 2010是一个WPF应用程序.
谢谢.
解决方法
这里有很多因素要考虑.
不选择WPF的原因:
>它目前的支持比WinForms常用的LOB控件,如日期选择器,数字输入窗口小部件等,虽然这是通过WPF工具包,WPF 4和通过第三方控制供应商改进.
>该工具不适合亲吻Windows窗体设计师的靴子. (虽然这是公平的,但这部分是因为工具必须应付更复杂的方式来构建观点,而Blend肯定会在那里.)
>与Windows Forms非常不同的心理模型.要从WPF中获得真正的好处,您需要以非常不同的方式思考您以前使用的方法.所以可能有一个实质性的学习曲线 – 不仅仅是在学习技术方面,而是在内化习语和模式方面(尽管现在有很多社区资源围绕惯用的WPF而不是以往).
选择WPF的原因:
>体面的建筑支持. WPF(如果你这样做)拥有内置的代码和UI的体面分离,使WPF应用程序更容易测试和发展.
>更大的灵活性例如,如果您需要一个简单的地图显示,您可以在几个小时内从ListBox构建它,而不必研究和购买第三方组件或从头开始编写地图控件.简单的数据可视化是WPF的杀手功能.
WinForms是一个死胡同.不会看到任何来自微软的增强,控制供应商已经开始转向WPF,因为WinForms市场饱和.
>大部分的WPF体验都可以移植到Silverlight中,(a)使您灵活地将应用程序带到浏览器和手机,(b)让您更有信心微软不会失去兴趣 – 即使他们确实让WPF“累”,他们对Silverlight表现出非常强烈的承诺.
就个人而言,如果我现在启动一个Windows桌面应用程序,我会选择WPF.但是,我已经爬上了学习曲线.对于没有WPF经验的团队来说,承担费用必须比对我更重要.