尽管WPF已经不再是明星产品,但它在Windows富客户端开发中的地位还是举足轻重。它拥有对.NET类库以及底层操作系统完全的访问权限,没 有任何其他HTML或者基于.NET的用户界面技术能够与之相提并论。微软意识到了它的重要性,并将继续对其投资以做出改善,特别是对其绑定 (binding)功能。
首先是支持通过类名与静态属性绑定。语法和一般的绑定有少许不同。Pete Brown解释说:
你会注意到,我们是对绑定语法做出了修改。你会用括号把命名空间、类和属性括起来,因为正如Sam Bent曾经和我说过“它们告诉我们要把路径解析为ClassName.PropertyName而不是PropertyName.PropertyName。”
由于对属性的绑定经常需要变更通知(change notifications),所以WPF 4.5提供了两种设计模式。第一种是创建形式为“public static event EventHandler [PropertyName]Changed”的一次性事件。如果需要监控多个属性,那么就要使用一般目的的事件。这会使用“public static event EventHandler StaticPropertyChanged”的形式来声明。
另一种在WPF 4.5中增加的特性是延迟绑定(delay binding)。一般数据变更会立刻从控制器推给模型。当设置了延迟时,直到用户在指定的时间段内不再做变更,更新的值才会推给模型。Pete提供了一些示例,还指出:
查看英文原文:Binding Enhancements in WPF 4.5这种特性另一个有用的地方在于,你可以把数据绑定在想要捕获递增变更的TextBox上,但此时消耗的资源(例如一次搜索)在某种程度上比较高。在那种情况下,你可以稍微暂停等待一下,比方说在按键之间加100毫秒的等待,然后再执行搜索。