WPF或Windows窗体

我一直在玩C#控制台应用程序大约一年,我想继续创建GUI应用程序。 除了基本的Java应用程序之外,我从未做过任何GUI开发,但是我想继续使用C#。 我应该开始学习Windows Forms还是直接跳到WPF? 有很大的区别吗? WPF是建立在Windows窗体之上还是完全不同?


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

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


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

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

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

尽管陈述了一些有利于Windows窗体的观点,但如果您只想学习UI框架,那么选择使用Windows窗体上的WPF对于我来说是不容易的。 在各方面都优于Windows Forms。 我只希望整个软件行业能够更大规模地适应它! (虽然不像任何人从我们上网后就再也不用写桌面应用程序了。)


这两种技术都有他们的专业和客户。

WPF更适合跨平台开发并创建'华丽'的GUI。 然而,它需要比WinForms更新的.net框架,并且需要dx9兼容GPU或更高(大多数人都会拥有)。

但是,创建界面/连接所有事件的过程涉及更多一点。

然而,WinForms仍然是一个强大的技术,通常可以比WPF更快地开发,最终,这两种技术都可以用来实现同样的目标。 不过WPF是'新'标准。

WinForms通常用于开发业务应用程序,而WPF通常用于创建更多基于终端用户的软件,应用程序等。

链接地址: http://www.djcxy.com/p/50501.html

上一篇: WPF or Windows Forms

下一篇: What are the bigger hurdles to overcome migrating from Winforms to WPF?