Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 我应该使用WPF还是Winforms来构建新的Windows桌面应用程序?_.net_Wpf_Winforms - Fatal编程技术网

.net 我应该使用WPF还是Winforms来构建新的Windows桌面应用程序?

.net 我应该使用WPF还是Winforms来构建新的Windows桌面应用程序?,.net,wpf,winforms,.net,Wpf,Winforms,这两种方法都有利弊。但是从管理者的角度来看,什么是最好的方法?对此没有简单的答案。微软的战略是让WPF成为未来的平台,WinForms最终会越来越不受关注。尽管如此,WinForms仍然是一个非常大的开发平台;您将发现WinForms的第三方组件比WPF的多(尽管这个鸿沟显然正在弥合),在线上还有更多的示例。你还会在就业市场上找到更多的WinForms开发人员 区别实际上在于你在做什么。这是什么样的项目?如果您想在表单中实现一些eyecandy,我应该选择WPF。还要记住,WPF是基于矢量的,所

这两种方法都有利弊。但是从管理者的角度来看,什么是最好的方法?

对此没有简单的答案。微软的战略是让WPF成为未来的平台,WinForms最终会越来越不受关注。尽管如此,WinForms仍然是一个非常大的开发平台;您将发现WinForms的第三方组件比WPF的多(尽管这个鸿沟显然正在弥合),在线上还有更多的示例。你还会在就业市场上找到更多的WinForms开发人员


区别实际上在于你在做什么。这是什么样的项目?

如果您想在表单中实现一些eyecandy,我应该选择WPF。还要记住,WPF是基于矢量的,所以它处理缩放的效果要比普通winform好得多


另外,如果您的应用程序用于管理数据、注册客户端,。。您现在可能想继续使用WinForms。如果您坚持使用模型视图控制器,您可以在以后根据需要或需要轻松更改视图。

我认为它与.NET 1.0发布时的VB6类似。 随着时间的流逝。。。最有才华的程序员(也是最昂贵的)将全部转移到WPF。只有不太有才华的人才会留在windows中。表单。。。但这需要时间

在我的工作中,我们必须从2002年到2004年支持旧的COM+ASp3.0应用程序。我希望它至少在.NET1.0中


用WPF开发的代码在windows.forms代码的未来将更容易保存。但是,正如亚当所说,这取决于项目的类型。

< P>一点要考虑的是,MONO当前是“强>不/强”计划支持WPF。他们的计划似乎只支持Silverlight在月光下提供的子集。随着Moonlight首先瞄准桌面,Silverlight紧随其后,也许Silverlight是一个不错的选择,除非您有需要WPF高端功能的特定功能

从管理者的角度来看,这并不重要,至少从你提问的方式来看是这样。经理不是在编写代码,通常不应该设置需求。这个问题的答案是“哪一个最有效地满足业务需求”,这不是一个直截了当的问题

所以,实际上,经理应该向将要实施软件的团队征求技术反馈。他们将根据自己对业务需求、自身技能以及在此过程中必须支持/集成的任何现有资产的理解给出答案


记住这类问题很重要,不同的团队/个人会给出不同的答案,即使给出相同的要求。这并不意味着两者都是错的

如果不考虑学习曲线(这有点像问哈里·惠廷顿,“没关系,鹌鹑捕猎情况如何?”),WPF在几乎所有级别上都比Windows窗体具有巨大的优势。即使您忽略了分辨率独立性、富媒体和动画等内容,而只关注于为用户输入数据制作表单

我认为这一切都与数据绑定有关。为了使数据绑定能够正常工作,您必须了解很多其他事情(特别是依赖属性),但是WPF的数据绑定实现从根本上改变了UI开发的可能


考虑一个非常简单和常见的UI启示:输入窗口的一个区域,其内容取决于用户在窗口的另一部分选择的对象类型。这在Windows窗体中是一个有趣的挑战。在WPF中,通常无需编写任何过程代码即可完成(至少在构建了正确的视图模型之后)。

以前有人问过这一点,例如,这一点——仅当您以跨平台为目标时才真正相关。WinForms和WPF之间的选择意味着一个厚客户端Windows应用程序,因此WPF比Silverlight更有意义。