首页 文章

WPF或Windows窗体

提问于
浏览
70

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

4 回答

  • 67

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

    它将允许您开始使用标记来创建丰富的界面来定义您的界面,而无需告诉您从Windows Forms学习的可能的坏习惯(对于WPF) .

  • 22

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

    但是,至少根据我的经验,Windows Forms似乎是业界更常用的桌面UI框架 . 虽然WPF提供Silverlight和XBAP应用程序,但Windows窗体不能与Web开发一起使用 .

    如果你以前做过任何UI开发,我敢说Windows Forms更容易学习,因为它遵循更传统的编程范例 . WPF的编程模型与此截然不同 . 虽然WPF可以像Windows窗体一样使用,但是在您接受WPF提供的数据绑定和封装之前,它的大多数好处都无法实现 .

    尽管说明了一些支持Windows窗体的观点,但是如果您只想学习UI框架,那么选择WPF而不是Windows Forms对我来说是不费吹灰之力的 . 它在各个方面都优于Windows Forms . 我只是希望软件行业能够更大规模地适应它! (虽然不像任何人在我们上网之后再写桌面应用程序了 . )

  • 4

    这两种技术都有他们的专业和能力 .

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

    但是创建界面/连线所有事件等都需要更多一点 .

    WinForms仍然是一种强大的技术,通常可以比WPF更快的速度开发,但最终, both technologies can be used to achieve the same thing. 但WPF是'newer'标准 .

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

  • 6

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

相关问题