我想知道是否有人在那里有WPF应用程序开发的经验 - 也许更有趣 - 在生产中运行WPF.
它是否足够成熟,可用于大型项目?有哪些明显的陷阱?任何最佳做法?(WPF中的数据绑定看起来很漂亮,但是它可以在"真正的"项目中运行吗?)
提前致谢!
小智 19
WPF推出了.NET 3.0.我们使用的是3.5 sp1,所以如果它没有生产就绪,MS已经有很多essplainin要做了.坦率地说,当3.0出现时,它已经准备好了.
我目前正在开发一个使用WPF进行模板化和数据绑定的项目(不是用于UI显示,而是使用UI类来定义模板).我也使用WPF作为个人用品.而且,坦率地说,即使考虑使用Windows窗体用于UI,我也必须受到严厉打击.WPF的简洁性和灵活性非常出色.它的数据绑定设施与黑客合并的窗体绑定模型相比非常壮观.而XAML是软件设计的一个革命性步骤,即imho.
WPF中的数据绑定不仅仅是漂亮的,它还允许您实现一些非常好的架构设计. 这是一篇很好的帖子,涵盖了一些比较流行的帖子. 可以把它想象成类固醇的MVC/MVP.
长话短说,跑.不要走路.
我不确定它是否适用于大型产品,但它肯定适用于中型数据库驱动的应用程序,如果这是你的一杯茶.我使用WPF + SQL Server 2008创建了一个患者管理系统,并没有那么多麻烦.
陷阱 - 我有一个 - 字体.说真的,你如何解释你的非技术娴熟的客户,没有什么可以改善XP上的WPF字体渲染?这个领域非常痛苦,看起来并不像微软正在解决它.(如果我错了,请纠正我.)
最佳做法?嗯,是的,你提到数据绑定,虽然效果很好,但当然它会在某种程度上抑制清晰的层分离.我实际上认为,从WinForms时代继承的大多数意识形态仍然适用,前提是你已经设法开始以不同的方式思考UI.我对WPF的最佳实践是使用代码生成将数据库映射到一系列控件中WrapPanel.实际上,这些包装面板很棒,因为它们可以扩展到任何屏幕尺寸,并且布局实际上感觉光滑自然.
我会说是的,它已经准备就绪,已经有一段时间了,但是有一些警告: