【问题标题】:Is WPF the best solution for C# GUIs? [closed]WPF 是 C# GUI 的最佳解决方案吗? [关闭]
【发布时间】:2016-09-10 12:26:43
【问题描述】:

我使用 Windows Forms 已经有一段时间了,由于 Forms 的某些限制,我想努力寻找一种更好的方式来制作 GUI。我发现了 WPF,它看起来很有前途,但我问你们,是否有更好的方法可以用 C# 为 Windows 制作漂亮的 GUI? 提前致谢!

【问题讨论】:

  • 链接到一篇文章(即使已经有四年了,我会说它仍然有效):stackoverflow.com/questions/9752375/…
  • 我发现 WPF 比 winforms 好得多,但在第一年或两年内,它的学习曲线非常糟糕。这是一种不同的思考方式。使用模板进行数据绑定可以真正快速地将干净、可维护的 UI 拼接在一起。

标签: c# wpf windows user-interface


【解决方案1】:

我会寻找 MS 路线图和说明,他们计划在哪里推动平台。例如: .NET Technology Guide for Business Applications

这是自 2013 年 11 月以来,但在很大程度上仍然有效。除其他事项外,它指出(强调我的):

.NET Windows Presentation Foundation
这是需要 UI 复杂性、样式的基于 Windows 的桌面应用程序的首选技术 桌面的自定义和图形密集型方案。 WPF 还利用 XAML 视图。 并且 WPF 开发技巧与 Windows Store 开发技巧类似,所以从 WPF 迁移到 Windows 应用商店应用比从 Windows 窗体迁移更容易。

基于 HTML5 和 JS 的应用程序是一条替代路线,但我认为它在开发效率和可维护性方面较差。如果您是脚本爱好者,那么值得一看。

根据我的经验,WPF 绝对是桌面开发的必经之路。

【讨论】:

  • HTML 和 JS 与 WPF 相比简直就是个笑话……如果你需要的话。我使用使用 Direct3d 的图表来快速渲染,我编写的应用程序可以打开多个屏幕。 HTML 和 JS 不能做任何这些 - 它们是为了简单的东西。
【解决方案2】:

从 Forms 开发迁移到 WPF 肯定有一个学习曲线,但在我看来,这种努力是值得的,不仅仅是因为 WPF 在美学上与 Windows Forms 不同。

WPF 鼓励您沿着 MVVM(“模型-视图-视图模型”)路径以及 UI、逻辑和数据元素之间的关注点分离。顺便说一句,MVVM 是众多 MV* 架构模式之一——关于什么构成不同模式之间的差异存在一些争论,但一致认为关注点分离绝对是一件好事。例如:

http://www.infoworld.com/article/2926003/microsoft-net/exploring-the-mvc-mvp-and-mvvm-design-patterns.html

https://nirajrules.wordpress.com/2009/07/18/mvc-vs-mvp-vs-mvvm/

What is difference between MVC, MVP & MVVM design pattern in terms of coding c#

就相对于 Forms 的特定优势而言,您可以通过 WPF 获得很多开箱即用的东西,例如双向数据绑定和 UI 线程。但我发现思考问题的转变同样有价值;当我开始考虑 MVVM 时,诸如异步编程之类的事情(例如从基于 Windows 的客户端应用程序调用 Web 服务)变得更容易概念化和推理。

MV* 在 Web 开发中也风靡一时,因此这些技能(以及在理想世界中的一些代码)可以转移到 Web 上。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-11
    • 1970-01-01
    • 2013-10-19
    • 1970-01-01
    • 1970-01-01
    • 2017-07-19
    • 1970-01-01
    • 2014-04-08
    相关资源
    最近更新 更多