学习WinForms是否值得?它已经过时了吗?

我认为Windows Forms非常适合基于表单的应用程序。WPF/Silverlight非常适合动画和图形驱动的应用程序。

如果您需要做一些实用工作或制作工具,我认为Win Forms也可以胜任这个任务。除非你真的想让界面看起来漂亮,否则WPF可能有些过度设计了。此外,使用WPF您需要学习XAML,但与使用Win Forms设计器相比,这并不容易或直观。

如果您是Web开发人员或设计师,使用WPF可能更类似于设计网页,因为您使用XAML并且可以对界面进行细粒度控制。

WPF/Silverlight也具有出色的数据绑定能力,而且Silverlight可以在浏览器之外运行,因此跳过WPF版本直接制作Silverlight版本甚至可能更有优势。从SL到WPF的移植比从WPF到SL要容易得多(因为SL是WPF的子集)。

对于我正在开发的项目,我将只使用SL4,因为它可以像桌面应用程序一样在浏览器之外运行,无需将其移植到WPF。将Silverlight应用程序安装到用户计算机上很简单、直接,并且可以使用所有现有的代码和自动更新,这还给您带来了额外的好处。