WPF 的稳定性不是就 WPF 程序的稳定性而言,而是就 API 本身的“稳定性”而言。
让我解释:
微软因使用新技术改变其整个方法而臭名昭著。就像从 silverlight 1 到 silverlight 2 的迁移一样。使用 WPF,我知道 MS 在发布 .NET 服务包时改变了很多东西。我不知道他们改变了多少。所以底线是,在您看来,他们是否会在下一个版本中再次改造系统,或者您认为它现在足够稳定,不会改变系统的大部分内容。我讨厌每次发布都必须忘掉一些东西。
我希望这个问题不会太啰嗦。
MS 在将新技术引入他们的开发堆栈方面确实有“火与运动”的历史,但他们在保持对旧产品的支持和向后兼容性方面也有着悠久的历史。WPF 似乎在框架的每个新版本中都添加了一些东西,但是你学到的东西并没有被取代或失效。
我在自己的 WPF 应用程序中看到的具有新版本框架的唯一重大变化是最近在 3.5 SP1 中的一个,那是因为我们在不知不觉中依赖一个错误来从我们的代码中获取某种行为。我们将 XAML 调整为更正确,它开始正常工作。
所以是的,我认为 WPF 作为客户端开发技术非常“稳定”。
自 WPF 首次发布以来,我们一直在使用它,是的,它一开始就存在问题,这让我们很头疼,让我们挠头寻找解决方法,但堆栈的每次新更新实际上都变得相当稳定。
添加 Expression Blend 后,使用它进行开发无疑变得越来越容易。在 VS 2005 中创建 XAML 并不好玩。单是模板引擎就足以从 WinForms 切换,更不用说动画支持了。
无论哪种方式,我都同意 Matt 的观点,它作为开发客户端应用程序的框架非常稳定。
就变化而言,WPF 相当稳定。Silverlight 仍在不断变化中。尽管您可能会注意,因为 silverlight 带来了可能在 wpf 中采用的状态管理器(而不是实现触发器)的概念......
如果发生这种情况,将有多种方法来定义控制模板和行为......
这将是一个令人头疼的问题。