我已经使用C#控制台应用程序大约一年了,我想继续创建GUI应用程序。除了基本的Java应用程序外,我从未进行过任何GUI开发,但我想继续使用C#。我应该开始学习Windows窗体还是直接跳到WPF?有很大的不同吗?WPF是建立在Windows窗体之上还是完全不同?
Answers:
如果您只是刚刚起步,请直接进入WPF。
它使您可以开始使用标记来创建丰富的界面来定义您的界面,而无需教您可能从Windows Forms学习到的不良习惯(对于WPF)。
两者是完全不同的技术。它们确实在两个方向上都提供了一些互操作性层,但除此之外没有什么共同点。Windows窗体或多或少是Win32 / MFC之上的轻量级包装,这意味着它在.NET中的可扩展性并不是在所有情况下都很好。WPF是从头开始实现的新UI框架。自定义现有类型时,WPF也更加灵活。
但是,至少从我的经验来看,Windows窗体似乎是该行业中更常用的桌面UI框架。尽管WPF提供Silverlight和XBAP应用程序,但Windows窗体不能与Web开发一起使用。
如果您以前做过UI开发,我敢说Windows Forms更易于学习,因为它遵循了更多传统的编程范例。WPF的编程模型与此完全不同。尽管WPF可以与Windows Forms相同的方式使用,但是只有在您接受WPF提供的数据绑定和封装后,才能实现其大多数优点。
尽管陈述了一些支持Windows窗体的观点,但是如果您只想学习UI框架,那么选择WPF而不是Windows窗体对我来说就不难了。它在所有方面都优于Windows Forms。我只希望软件行业能够在更大范围内适应它!(尽管自从有了网络以来,就不再像其他人那样编写桌面应用程序了。)