我即将开始使用Microsoft Visual C#2008(Express版)开发一个小型Windows应用程序。我是C#和.NET的新手,所以这是一个新手问题。我应该从WPF开始还是应该坚持使用旧的WinForms?
我的应用程序有几个屏幕,都有几个文本框,复选框,组合框,而不是更多。应用程序将从多个COM对象检索数据,并通过标准TCP / IP套接字进行通信,这两个套接字都与UI无关。
用户界面没有任何想象力(我不需要它)。然而,世界似乎正在转向WPF。为我的案例选择WPF而不是WinForms有什么考虑?推荐的方法是什么?
由于
答案 0 :(得分:5)
我没有使用Forms足以说明哪个更好,但我发现WPF很容易用于次要应用程序。 我认为,如果标准人员正在走向并且并不困难,那么开始使用它是一种很好的做法。
答案 1 :(得分:4)
选择您认为最具吸引力的上述内容:)
答案 2 :(得分:3)
这取决于。如果你对它感到满意,请坚持使用WinForms。
如果您希望能够通过更多自定义控件获得更好的外观,并且您愿意花时间学习XAML以及WPF和WinForms之间的差异,那么请继续使用。但是期待它需要一些时间,有一个学习曲线。
答案 3 :(得分:2)
有趣的是,所有答案都以开发人员为目标:熟悉框架,学习曲线,框架的技术特征等。
如果这是一个简单的应用程序,那么技术方面都不重要。你听起来像是有一些编程经验,在这种情况下,选择的框架并不重要。专注于您的用户。
您能保证您的用户安装了最新的.net运行时吗?如果他们不这样做,他们是否愿意/能够安装它? 您的用户会因“过时”的外观而被推迟吗?
你表达问题的方式,我认为你应该使用WinForms。您似乎暗示(“坚持使用winforms”)您在WinForms中有经验并且您对UI没有任何花哨的要求,所以我认为没有理由让自己处于WPF可能存在的陡峭学习曲线上。
答案 4 :(得分:1)
这是一种权衡。
从Windows Forms开始,您很可能会提高工作效率,因为编程范例更接近您可能熟悉的大多数其他UI开发库。还有许多可用于WinForms(包括ActiveX)的UI控件库,可以更轻松地创建有吸引力的功能UI。不幸的是,MS表示WinForms将来不会再有进展,因为他们的重点是WPF。
另一方面,WPF更加复杂和强大,可以帮助您创建非常有吸引力的丰富界面。 WPF有时需要使用更复杂的后端编程范例,如MVVM来创建有效的应用程序。此外,作为一种新技术,可用于帮助您开发WPF应用程序的成熟库和工具较少。对于开发工具,你有VS2008和Expression Blend(这是非常好的BTW)。渐变,色彩主题,蒙皮,控件自定义等高级图形功能在WPF中都更加强大。但是这种功能是有代价的 - 大多数开发人员发现WPF具有比WinForms更重要的学习曲线。答案 5 :(得分:1)
我个人非常喜欢WPF提供的很多东西。它具有简单的数据绑定,验证和自定义UI功能。再加上昨天发布的新版Expression Blend 3.0,它们有Sketchflow WPF应用程序,您可以与他人共享并从中获取反馈文件。这对WPF世界来说是一个非常有趣的小补充。
好消息是,如果你找到一个Winform控件或需要WPF的东西而你选择了另一种方式,那么它们现在似乎相互配合。
答案 6 :(得分:1)