WPF或Windows窗体

我一直在玩C#控制台应用程序大约一年,我想继续创buildGUI应用程序。 除了基本的Java应用程序,我从来没有做过任何GUI开发,但是我想继续使用C#。 我应该开始学习Windows窗体还是直接跳到WPF? 有一个巨大的差异? WPFbuild立在Windows窗体之上还是完全不同?

如果你刚开始,直接跳到WPF。

它将允许您开始使用标记来定义丰富的界面来定义您的界面,而不会告诉您从Windows窗体学习的可能的不良习惯(对于WPF)。

这两个是完全不同的技术。 他们提供了一些双向的互操作层,但除此之外没有任何共同点。 Windows Forms在Win32 / MFC之上或多或less是一个轻量级的包装,这意味着它在.NET中的可扩展性在所有情况下都不是那么好。 WPF是从头开始实现的一个新的UI框架。 在定制现有types时,WPF也更加灵活。

不过,至less从我的经验来看,Windows Forms似乎是业界比较常用的桌面UI框架。 虽然WPF提供了Silverlight和XBAP应用程序,但Windows Forms不能用于Web开发。

如果你之前做过任何UI开发,我敢说Windows Forms更容易学习,因为它遵循更传统的编程范例。 WPF的编程模型与此截然不同。 尽pipeWPF可以像Windows窗体一样使用,但是直到您接受WPF提供的数据绑定和封装之后,才能实现WPF的大部分优点。

尽pipe陈述了一些有利于Windows窗体的观点,但是如果您只想学习UI框架,select使用Windows窗体的WPF对于我来说是毫不费力的。 在各方面都优于Windows Forms。 我只希望整个软件行业能够更大规模地适应它! (尽pipe不像从我们上网以来,任何人都会写桌面应用程序)

WPF提供了非常丰富的工具来构build极其复杂的用户界面。 它简化了界面中硬件加速graphics的集成。 但是,Visual Studio WPFdevise器非常糟糕(我几乎从不使用它)。 我也认为WPF要复杂得多,而且开始的时候比较困难。 但这当然是主观的。