Windows窗体与WPF

Ron*_*onk 27 .net c# forms wpf xaml

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

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

Lit*_*mar 33

  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的样式.

  • 这是我的两分钱。我目前正在开发一个基于 GPS 的实时监控工具(车辆等)。WPF 在图形、重绘、缩放、旋转等方面非常出色,但学习曲线肯定是存在的,但并非不可能。问题是您的项目是基于 GUI 的还是只是跨国的。如果您已经拥有丰富的交易经验,则可以继续使用 WinForms 进行事务处理。如果您热衷于图形化的东西,WPF 可以让您更好地分离设计(对于设计者)和后端(对于交易者)。但学习曲线是存在的。 (3认同)