文档章节

WPF 4.5中对绑定的改善

墙头草
 墙头草
发布于 2011/12/12 14:16
字数 490
阅读 181
收藏 0
尽管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提供了一些示例,还指出:

    这种特性另一个有用的地方在于,你可以把数据绑定在想要捕获递增变更的TextBox上,但此时消耗的资源(例如一次搜索)在某种程度上比较高。在那种情况下,你可以稍微暂停等待一下,比方说在按键之间加100毫秒的等待,然后再执行搜索。

© 著作权归作者所有

墙头草
粉丝 16
博文 145
码字总数 117172
作品 0
卢湾
私信 提问
DevExpress v18.1新版亮点——WPF篇(二)

用户界面套包DevExpress v18.1日前终于正式发布,本站将以连载的形式为大家介绍各版本新增内容。本文将介绍了DevExpress WPF v18.1 的新功能,快来下载试用新版本!点击下载>> Data Editors...

Miss_Hello_World
2018/07/25
27
0
基于wpf的相关设计问题-Command的使用

这篇来讨论Command基于ViewModel的基本使用. 以prism内置Command Demo为例子,效果图如下 View相对应的ViewModel 1.OrderEditorView的Model就是OrdersEditorPresentationModel了 2.SaveAllO...

Andrewniu
2018/09/30
0
0
用DevExpress做界面开发:惊艳的WPF界面框架 | 附安装程序

DevExpress WPF Controls拥有超过85个优选的界面控件和库,帮助你创建强大而优美的商业解决方案,并且满足最终用户最高要求的性能标准。 下载Universal安装包就可以马上体验这些示例哦! 注意...

百mumu
2015/11/11
7.1K
0
Wix 安装部署教程(十) --来,用WPF做个漂亮的安装界面

原文:Wix 安装部署教程(十) --来,用WPF做个漂亮的安装界面 在上一篇中曾留下两个问题,.Net捆绑安装不触发以及路径选择的问题现在都已经解决,这段时间花的最多的地方还是WPF调样式上面,奈...

杰克.陈
2018/05/18
0
0
迁移桌面程序到MS Store(5)——.NET Standard

  接下来的几篇,我想讨论下迁移桌面程序到MS Store,可以采用的比较常见、通用性比较强的实施步骤和分层架构。   通常商业项目一般都是不断的迭代,不太可能突然停止更新现有的桌面版本...

楼上那个蜀黍
01/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

同名依赖,多次引入导致的程序错误

表现: 本地测试正常,打包上线后报错找不到某个方法(缺少依赖),检测依赖发现,同名依赖有两个版本。 解决:删除一个,程序正常

避难所
28分钟前
3
0
在HTML中的下拉框中实现超连接

<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8"> <link rel="canonical" href="https://blog.csdn.net/weixin_34228617/article/details/86130280"/> ......

mickelfeng
33分钟前
3
0
Content7关闭防火墙命令

在外部访问CentOS中部署应用时,需要关闭防火墙。 关闭防火墙命令:systemctl stop firewalld.service 开启防火墙:systemctl start firewalld.service 关闭开机自启动:systemctl disable f...

无名氏的程序员
34分钟前
3
0
分布式存储原理:TiDB

浮躁的码农
47分钟前
7
0
CSS实现圆角边框的完美解决方案

css实现图片圆角,兼容所有浏览器: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 <style type= "text/css" > /*通用样式--容器宽度值*/ .s......

前端老手
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部