视觉设计应用程序:WPF还是WinForms(GDI)?

3
我需要开发一个应用程序,让我的客户进行视觉设计。我指的是图形显示和相关实体的操作。(类似于ERD的原理,但显然又是完全不同的问题领域)
想象一下Visual Studio有一个工具箱,每个项目都有一些属性等。项目有某些类型的关系,也需要属性等。
我需要决定是否要在Windows Forms中完成,在那里我将不得不使用一些第三方图形/可视化设计库,或者是否要使用WPF来解决这个问题,那里我有一些设计工具可用。(我说的是Blend套件)
你觉得呢?你会在WPF还是WinForms中完成这个任务?为什么?你会使用哪些组件(如果有的话)?
5个回答

4
我来给你讲一下我的关于WPF的看法。我对它非常着迷,最终我相信整个Windows编程社区都会转向类似的东西,因为它提供了非常流畅的显示效果。
话虽如此,我在运行我的WPF应用程序时遇到了很多麻烦。我使用了.Net Framework SP1来制作它,在我开发的Vista操作系统上安装了.Net和VS 2008,它可以正常运行,但是当我在生产的XP sp2机器上运行时,它根本无法运行。
这种情况发生在我已经完成整个应用程序之后,所以我现在没有精力重新编写它成Winforms(虽然我很快就必须这样做)。
WPF还使用了一些.Net 3.5 SP1中的神秘函数,如果您将其安装在具有普通.Net框架(而不是SP1)的计算机上,它会崩溃并出现一个神秘的错误,这一点也没有帮助。
所以相信我,我现在不是一个快乐的WPF开发者。事实上,那是三个月前的事情了,自那以后我就再也没有碰过WPF,而且我也不会在一段时间内为了专业质量的应用程序再去碰它。

2
好的,这里有一个使用WPF的示例。我认为您需要在WPF或WinForms中进行一些工作,提供自己的控件等。WPF看起来更容易且更适合。

1

针对您的要求,有一个快速解决方案。您需要使用WinForms。

问题是,Visual Studio中的设计界面可在没有实际的Visual Studio的情况下重复使用。请查看此MSDN文章,它已经为您实现了您的要求:

http://msdn.microsoft.com/cc163634.aspx

我希望Cider(WPF设计表面)也能用,但现在还不行。


0

SO播客#61,或者阅读副本

德·伊卡萨:是的,没错,它是一种……他们选择了 .net 和 WPF 的一个小而有趣的子集,并将其制作成了 Web 插件,还加入了视频和音频。
Spolsky:所以它应该是 Flash 的替代品?
德·伊卡萨:没错,完全正确。你知道,对我来说它很有趣,因为我可以用 C# 编写代码,而我恰好喜欢这种语言。从这个角度上来看,Silverlight 是有趣的。此外,当微软做那个东西时,它也是 WPF 的一个子集,是一个你实际可以学习的子集,而不是我觉得[笑]巨大无比的 WPF。[继续......]
Spolsky:所以它是 Silverlight 团队能够找到的唯一一个 WPF 移植版 [笑]。
德·伊卡萨:确切地说,正是如此。这就像是好的子集而不是过度设计的版本。...

de IcazaSpolsky似乎都认为WPF很难理解,所以答案就是,坚持使用Winforms。如果浏览器符合您的要求,您可以考虑使用Silverlight

另请参阅何时选择Winforms而不选择WPF


0

我认为这取决于团队的技能水平,但是从我的经验来看,使用 WPF 开发 Windows 应用程序要容易得多。

如果您有一位做 Winforms 许多年的开发人员,那么也许在 Winforms 中开发会更好。

我怀疑 WPF 是未来的方向,微软自己正在使用 WPF 开发许多旗舰产品,并将继续这样做(例如 Visual Studio 2010)。

有很多聪明的人在 WPF 上工作,我认为可以以高生产力水平完成很多工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接