WPF 4.5中对绑定的改善

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