Windows窗体与WPF

时间:2015-07-01 06:48:15

标签: c# .net wpf forms xaml

我已经开发了5年的Windows Forms应用程序。很多人说我应该看看WPF。我有一些关于WPF与Windows Forms的问题,以确定哪一个最好。 WPF比Windows Forms更新,很多人都说这将是未来。其他人说Windows Forms更老,因此更安全。我不确定将来会是什么。我已经搜索了优点和缺点,但我希望你能给我一个更多的部门答案:

  1. 哪一个更好地基于表现?
  2. 使用WPF而不是Windows窗体有哪些主要优势?
  3. 使用Windows窗体而不是WPF的主要优势是什么?
  4. 哪一个更受企业使用/喜欢?
  5. 从Windows窗体切换到WPF有多难?
  6. 我应该仔细研究WPF的哪些部分?

1 个答案:

答案 0 :(得分:26)

  1. 没有任何意义可以说WPF优于Windows窗体,反之亦然。这取决于很多因素:

    • 您正在构建什么样的UI。 显然,您正在设计的视图的复杂性将影响两个平台上的性能。它们具有不同的布局和渲染管道。

    • 如何有效地优化每个平台的性能。

  2. 使用WPF而不是Windows窗体的优点:

    • XAML可以轻松创建和编辑GUI,并允许在设计器(XAML)和程序员(C#,VB.NET等)之间分割工作。

    • 它允许您为Windows应用程序和Web应用程序(Silverlight / XBAP)创建用户界面。

    • 数据绑定,可让您更清晰地分离数据和布局。

    • 使用硬件加速来绘制GUI,以获得更好的性能。

  3. 使用Windows窗体而不是WPF的主要优点:

    • WPF的收件箱控制套件远比WinForms控制套件有限。

    • WinForms的第三方控制空间有更大的支持。 (这种情况正在发生变化,但是现在凭借时间优势,WinForms在社区中得到了更大的支持。)

    • WPF的主要缺点是Mono并不真正支持跨平台(例如,它在Linux和Mac上不起作用)。最初,Xamarian / Novella说由于实施的复杂性,他们不打算实施它。我没有看到任何相反的事情。不是说它不是,但他们的建议是编写模型类,然后执行特定于操作系统的前端。即使WPF是开源的,它也可以构建在不易移植的东西上。

  4. https://social.msdn.microsoft.com/Forums/en-US/e134134a-352f-435b-943a-eda7a2b14fc0/wpf-vs-windows-forms-2015?forum=wpf

  5. 取决于您的学习能力。

  6. 我应该仔细研究WPF的哪些部分?

    • XAML :了解XAML及其在WPF应用程序中的使用方式。

    • 布局:了解布局面板及其用于构建用户界面的方式。

    • 数据绑定:了解WPF数据绑定的工作原理以及如何使用它。

    • 数据模板和触发器:了解数据模板和触发器的工作原理以及如何使用它们。

    • 样式:了解如何在WPF中设置UI的样式。