【问题标题】:Simple non-fancy Windows application - should I start with WPF or WinForms?简单的非花哨 Windows 应用程序 - 我应该从 WPF 还是 WinForms 开始?
【发布时间】:2009-07-24 17:36:26
【问题描述】:

我即将开始使用 Microsoft Visual C# 2008 (Express edition) 开发一个小型 Windows 应用程序。我对 C# 和 .NET 很陌生,所以这是一个新手问题。我应该从 WPF 开始还是应该坚持使用旧的 WinForms?

我的应用程序有几个屏幕,都有几个文本框、复选框、组合框,仅此而已。应用程序将从几个 COM 对象中检索数据,并通过标准 TCP/IP 套接字进行通信,这两者都与 UI 无关。

UI 一点都不花哨(我也不需要这样)。然而,世界似乎正在​​转向 WPF。对于我的情况,选择 WPF 而不是 WinForms 的考虑因素是什么?推荐的方法是什么?

谢谢

【问题讨论】:

    标签: c# wpf winforms


    【解决方案1】:

    我没有使用足够多的表单来说明哪个更好,但我发现 WPF 很容易用于小型应用程序。 我认为,如果这是人们正在走向的标准并且并不困难,那么开始使用它是一个好习惯。

    【讨论】:

      【解决方案2】:
      • WPF = 未来 + 花哨的东西
      • WinForms = 所见即所得

      选择以上你觉得最吸引人的一个:)

      【讨论】:

        【解决方案3】:

        这取决于。如果您对它感到满意,请坚持使用 WinForms。

        如果您希望能够通过更多自定义控件获得更好的外观和感觉,并且愿意花时间学习 XAML 以及 WPF 和 WinForms 之间的区别,那就去做吧。但预计这需要一些时间,有一个学习曲线。

        【讨论】:

          【解决方案4】:

          有趣的是,所有答案都是如何针对开发人员的:熟悉框架、学习曲​​线、框架的技术特性等。

          如果它是一个简单的应用程序,那么任何技术方面都不重要。你听起来好像你有一些编程经验,在这种情况下,选择的框架并不重要。而是专注于您的用户。

          您能否保证您的用户安装了最新的 .net 运行时?如果他们不这样做,他们是否愿意/能够安装它? 您的用户会被“过时”的外观和感觉所推迟吗?

          您提出问题的方式,我认为您应该使用 WinForms。您似乎暗示(“坚持使用 winforms”)您在 WinForms 方面有经验,并且您对 UI 没有任何花哨的要求,所以我认为没有理由让自己陷入 WPF 的陡峭学习曲线。

          【讨论】:

            【解决方案5】:

            我个人喜欢 WPF 提供的很多东西。它具有简单的数据绑定、验证和自定义 UI 的东西很简单。加上昨天发布的新的 Expression Blend 3.0,他们拥有 Sketchflow WPF 应用程序,您可以与他人共享并从中获取反馈文件。这是对 WPF 世界的一个非常有趣的小补充。

            好消息是,如果您找到一个 Winform 控件或需要 WPF 的东西,而您选择了另一种方式,它们现在似乎可以很好地协同工作。

            【讨论】:

              【解决方案6】:

              这是一种权衡。

              从 Windows 窗体开始,您很可能会更有效率,因为编程范式更接近您可能熟悉的大多数其他 UI 开发库。还有许多可用于 WinForms 的 UI 控件库(包括 ActiveX),它们可以更轻松地创建有吸引力的功能性 UI。不幸的是,MS 表示 WinForms 未来不会有任何进步,因为它们的重点是 WPF。

              另一方面,WPF 更加复杂和健壮,可以帮助您创建非常有吸引力、丰富的界面。 WPF 有时需要使用更复杂的后端编程范例,如MVVM 来创建有效的应用程序。此外,作为一项较新的技术,可帮助您开发 WPF 应用程序的成熟库和工具较少。对于开发工具,您有 VS2008 和 Expression Blend(顺便说一句,这很不错)。渐变、颜色主题、皮肤、控件自定义等高级图形功能在 WPF 中都更加强大。但这种能力是有代价的——大多数开发人员发现 WPF 比 WinForms 具有更重要的学习曲线。

              【讨论】:

                【解决方案7】:

                如果您习惯了 WinForms,WPF 是全新的东西,因此需要很长时间才能习惯它。但我更喜欢 WPF 并不是因为它的外观,对我来说它更多的是出色的布局系统(一旦你习惯了它)、它的数据绑定基础设施以及与 MVVM 等模式的结合、UI 和业务逻辑的分离。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 2013-03-21
                  • 2021-07-06
                  • 1970-01-01
                  • 2010-12-31
                  • 1970-01-01
                  • 1970-01-01
                  • 2013-05-06
                  相关资源
                  最近更新 更多