我已经开发了5年的Windows Forms应用程序。很多人说我应该看看WPF。我有一些关于WPF与Windows Forms的问题,以确定哪一个最好。 WPF比Windows Forms更新,很多人都说这将是未来。其他人说Windows Forms更老,因此更安全。我不确定将来会是什么。我已经搜索了优点和缺点,但我希望你能给我一个更多的部门答案:
答案 0 :(得分:26)
没有任何意义可以说WPF优于Windows窗体,反之亦然。这取决于很多因素:
您正在构建什么样的UI。 显然,您正在设计的视图的复杂性将影响两个平台上的性能。它们具有不同的布局和渲染管道。
如何有效地优化每个平台的性能。
使用WPF而不是Windows窗体的优点:
XAML可以轻松创建和编辑GUI,并允许在设计器(XAML)和程序员(C#,VB.NET等)之间分割工作。
它允许您为Windows应用程序和Web应用程序(Silverlight / XBAP)创建用户界面。
数据绑定,可让您更清晰地分离数据和布局。
使用硬件加速来绘制GUI,以获得更好的性能。
使用Windows窗体而不是WPF的主要优点:
WPF的收件箱控制套件远比WinForms控制套件有限。
WinForms的第三方控制空间有更大的支持。 (这种情况正在发生变化,但是现在凭借时间优势,WinForms在社区中得到了更大的支持。)
WPF的主要缺点是Mono并不真正支持跨平台(例如,它在Linux和Mac上不起作用)。最初,Xamarian / Novella说由于实施的复杂性,他们不打算实施它。我没有看到任何相反的事情。不是说它不是,但他们的建议是编写模型类,然后执行特定于操作系统的前端。即使WPF是开源的,它也可以构建在不易移植的东西上。
取决于您的学习能力。
我应该仔细研究WPF的哪些部分?
XAML :了解XAML及其在WPF应用程序中的使用方式。
布局:了解布局面板及其用于构建用户界面的方式。
数据绑定:了解WPF数据绑定的工作原理以及如何使用它。
数据模板和触发器:了解数据模板和触发器的工作原理以及如何使用它们。
样式:了解如何在WPF中设置UI的样式。