我正在用VB.NET开发一个小型桌面应用程序。它必须像商业应用程序一样正式。我需要使用WPF吗?
我听说它有助于构建更丰富的用户界面,我很乐意使用新的东西。但我也有这样的想法,它主要用于图形丰富的应用程序 - 视频,动画等。我不太了解.NET技术,因为我开始学习。
我可以就此提供一些指导吗?
答案 0 :(得分:2)
现在我知道WPF了 - 特别是现在我理解了绑定,命令和MVVM模式 - 我不会再次使用WinForms了。如果你正在开发简单的静态用户界面,如果你不想改变它们,并且你不关心它们在开发工作站以外的机器上的外观,那么WinForms就没问题了。但是一旦你开始需要更多,你的UI代码就变得越来越复杂,难以维护。
WPF应用程序起初看起来更复杂,特别是如果你认为WinForms是一个锤子,你学习WPF的方法就是用它来砸它。但是一旦你理解了绑定和模板,并采用了利用这些技术的设计模式,复杂性就会消失。有官僚 - 实现INotifyPropertyChanged
和依赖属性和RoutedCommand
是相当繁琐的,感觉可能有一个抽象层缺失 - 但如果你看过表面残骸, WPF应用程序实际上比WinForms应用程序简单得多。将一组对象绑定到ItemsSource
的{{1}}并为这些对象实现ItemsControl
可以在极少量的代码中完成,并且可以在WinForms中进行相当大的工作。< / p>
答案 1 :(得分:1)
我的建议:大多数情况下都试一试。对于您当前的(小型)项目来说,这可能并不经济,但可以将其视为对您技能的投资。
答案 2 :(得分:1)
小型桌面应用程序,特别是具有表单和文本框的商务类应用程序,以及最小的无效性,可以像Windows窗体一样好用。如果你不需要WPF给你的额外功率,不要担心 - 无论如何都有一点学习曲线,所以等到你需要学习它或有时间进行个人项目,你可以尝试它
答案 3 :(得分:0)
我发现即使是小型的商业应用程序也很壮观(对于大型系统来说非常好)。与Windows Forms相比,WPF中的“专业”外观更容易实现。在我的书中,不必处理“事件汤”是一个明确的优点。我的错误率已大幅下降,转而使用WPF。
这需要一些学习,确定(只是不学习Windows Forms需要时间)。我花了大约半年的时间才获得了与Windows Forms相同的技能水平,但是我今天的速度仍在提高(自从.NET 3.0问世以来我一直在使用它)。
我同意Henk的意见 - 当你决定试一试时,肯定会考虑MVVM - 这就是WPF闪耀的地方。