我一直在玩C#控制台应用程序约一年,我想继续创建GUI应用程序。除了基本的Java应用程序之外,我从未做过任何GUI开发,但是我想继续使用C#。我应该开始学习Windows Forms还是直接跳到WPF?有很大的区别吗? WPF是建立在Windows窗体之上还是完全不同?WPF或Windows窗体
回答
如果你刚开始,直接跳到WPF。
它将允许您开始制作丰富的界面,使用标记定义您的界面,而无需告知您将从Windows窗体学习到的可能的不良习惯(对于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窗体的观点选择Windows窗体上的WPF对我来说是一件容易的事情,如果你只想学习一个UI框架的话。在各方面都优于Windows Forms。我只希望整个软件行业能够更大规模地适应它! (虽然不像任何人自从我们上网以后再编写桌面应用程序)。
+1完全同意。 – 2010-04-21 18:09:57
WPF提供了非常丰富的工具来构建极其复杂的用户界面。它简化了界面中硬件加速图形的集成。但是,Visual Studio WPF设计器非常糟糕(我几乎从不使用它)。我也认为WPF要复杂得多,而且开始时比较困难。但这当然是主观的。
我手工编写xaml:D并使用设计器来设置边缘和东西。没有其他的。 – 2015-11-15 21:50:21
这两种技术都有他们的专业和技术。
WPF更适合跨平台开发并创建'华丽'的GUI。然而,它需要比WinForms更新的.net框架,并且需要dx9兼容GPU或更高(大多数人都会拥有)。
但它是更复杂一点,以创建接口/线了所有的事件等
的WinForms仍然常常可以比WPF更快的速度然而开发出了强大的技术,到底,这两项技术都可以用来实现同样的目标。然而,WPF是'新'标准。
的WinForms通常用于开发商业应用程序,而WPF经常被用来创建软件的最终用户基于位,应用等
- 1. 在Windows窗体或WPF
- 2. Windows窗体或WPF - 记得在DataGridViews
- 3. WPF或Windows窗体应用程序
- 4. 从Windows窗体到WPF
- 5. WPF与Windows窗体 - STAThread
- 6. WPF DataGrid与Windows窗体DataGridView
- 7. 集成WPF和Windows窗体
- 8. 共存Windows窗体和WPF
- 9. 显示在WPF Windows窗体
- 10. 使用Windows窗体的WPF
- 11. 从VBA代码打开.NET WPF窗口或Windows窗体
- 12. Windows窗体或WPF,代码或不代码
- 13. 在WPF或Windows窗体中托管Microsoft Access 2010?
- 14. Visual Studio 2010 - 发布Windows窗体或WPF应用程序
- 15. 什么是C#中最好的chioce,Windows窗体或WPF开发?
- 16. WPF和Windows窗体互操作
- 17. WPF + Windows窗体错误处理
- 18. 使用WPF自动填充Windows窗体
- 19. C#添加WPF按钮到Windows窗体
- 20. 使用WPF + Windows窗体拖放
- 21. WPF相当于Application.AddMessageFilter(Windows窗体)
- 22. Windows窗体,WPF鼠标点击事件
- 23. 如何在Windows窗体标签页中添加wpf窗体?
- 24. 转换Windows窗体到Windows Metro窗体
- 25. Windows窗体 - 从父窗体
- 26. 在Windows窗体或WPF应用程序中使用“Wingdings”字体是否合适?
- 27. 打开Windows窗体与opcv从WPF窗口
- 28. 在Windows窗体中打开WPF窗口APP
- 29. Windows窗体“洞”
- 30. Windows窗体:PropertyGrid
+1我绝对同意。 WPF比Windows Forms更加灵活,并且它在GUI开发中是长期的。在如何使用基于XML的布局方面,它非常接近HTML。现在,Windows Forms的最佳参数是如果您有一个具有使用它的主要经验的开发团队。 WPF是未来,它已经在Windows Forms之前跃过了一大步。 – 2010-04-21 17:35:17
+1但是,由于以前版本中的字体问题,WPF仅适用于.NET 4.0+,因此请记住应用程序部署。 – Josh 2010-04-21 17:38:12
@Fauxide WPF在.NET 3.5中可用。已经有很多有用的应用程序构建...字体问题不是每个人都可以看到的。 – 2010-04-21 17:39:49