【问题标题】:Should we migrate to WPF or Winforms? [duplicate]我们应该迁移到 WPF 还是 Winforms? [复制]
【发布时间】:2009-02-18 17:27:19
【问题描述】:

欺骗When is Windows Forms the correct choice vs WPF?

这些天,我们必须决定是否使用 WPF 作为构建我们下一代产品的平台。

就我个人而言,我有点害怕使用这项技术,尤其是因为性能和它不成熟(我不确定 Blend 等 UI 编辑器的质量)。

【问题讨论】:

    标签: wpf winforms


    【解决方案1】:

    就个人而言,我非常喜欢 WPF。

    这需要从 Winforms 的思维方式发生根本性转变。 Winforms 您将内容拖放到表单上。这让您真正快速轻松地完成了 80% 的工作,但是当您需要跳出 WinForms 明确涵盖的内容时,您将进入一个痛苦的世界。

    在 WPF 中,您要做的第一件事就是关闭可视化编辑器。你的 UI 代码从丑陋的混乱变成了美丽的东西。此外,它非常强大和灵活,一旦你掌握了它,你可以做的事情绝对是惊人的。

    WPF 的缺点是它比 WinForms 更重,学习曲线也比较大。但是,这是未来的方式,除非它是您正在制作的微不足道的应用程序,否则我会选择 WPF。

    【讨论】:

      【解决方案2】:

      如果您不需要带有动画等的非常有光泽的 UI,我认为没有理由跳到 WPF... 只是现在。

      【讨论】:

      • 开发速度怎么样?您认为哪个应用程序可以更快地编写,WPF 或 WinForms?我的投票是 WPF。
      • @Longhorn213 - 只有当您的开发人员同样精通这两种技术时,您所说的才有意义。
      • Longhorn213:取决于您的需要。对于面向数据的应用程序,WPF 中缺少像 DataGridView 这样的控件是一个重大挫折;您要么需要自己编写它们,要么使用一些 3rd 方控件,要么使用 Windows 窗体主机,它们都不是特别吸引人。
      • @Galwegian - 我明白你在说什么。对我来说,我在 ASP.NET 世界中学习了 .NET,并且总是觉得 WinForms 更难更笨重,因为如果将项目拖到那里,如果我想要一些东西增长,我必须将它向下移动。这就是我喜欢 WPF 的原因,它对我来说感觉更自然。
      • @DrJokepu:在 WPF 中不包括 DataGridViews 是有充分理由的。这不是不迁移的理由。
      【解决方案3】:

      如果您担心性能,您应该查看这些 MSDN 页面:

      Windows Presentation Foundation Performance

      我的猜测是,只要有合适的 DirectX 硬件,WPF 甚至会胜过 Winforms,因为渲染可以直接由 GPU 完成。

      【讨论】:

        【解决方案4】:

        考虑到 MS 正在使用基于 WPF 的代码编辑器构建他们的下一个 VS 版本,我发现很难找到对不“成熟”或存在性能问题的 WPF 的支持。

        我想说,如果您无论如何都能够迁移,那么您不妨升级以延长代码库的寿命。如果您的代码在 Winforms 中正确编写,那么开始将其移入 WPF 应该不会很困难。

        【讨论】:

          【解决方案5】:

          大约 10 周前我开始自学 WPF,然后在过去的 2 周里,我实际上已经在 WPF 中编写了一个应用程序。

          我来自 ASP.NET,我喜欢 WPF。我喜欢 XAML 标记,它比拖动项目并确保它们在 WinForm 中的正确位置更有意义。

          WPF 中的样式更简单,可以快速制作圆角边框。

          使用 Expression Blend,您可以设计一个非常漂亮的动画界面。

          我在 Vista(家庭)和 XP(工作)上开发了一个 WPF 应用程序,它们看起来都非常好。

          我对 WPF 非常满意,不会再使用 WinForms。

          【讨论】:

            【解决方案6】:

            我的感觉是,如果你对 winforms 的外观和感觉感到满意,那就坚持下去。如果您认为您将进行 any 视觉自定义,那么请使用 WPF。但是后来我一直在使用 winforms 很长一段时间,而 WPF 却很少。如果我刚开始,我可能会专注于学习 WPF,因为它确实更加灵活

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2010-10-13
              • 2016-10-03
              • 2018-09-30
              • 1970-01-01
              • 2011-05-02
              相关资源
              最近更新 更多