Flex数据绑定陷阱(二)
- 博客分类:
- 技术杂绘
Flex数据绑定陷阱(二)
2010年08月10日
尝试绑定一个没有包含IPropertyChangeNotifier接口的类
实现IPropertyChangeNotifier接口的类,必须在类改变属性时派发事件并且任何嵌套类必须作为公共属性被曝光。
因此,你能发现类里的属性何时改变了。
例如,让我们来看一下UIComponent类的签名(见图3)。
UIComponent类确实实现了发布属性改变事件,这个一旦某个属性被改变就会派发一个事件的接口。
图3.UIComponent类的签名
现在看下下面这个控制用户信息的类: 如果你尝试绑定用户信息类的 某个属性刀Label的text属性上,按照下面的说明这么写的话,这个绑定将不会成功:
flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
minWidth="1024" minHeight="768"
creationComplete="creationCompleteHandler()">
因为这段代码尝试去绑定一个没有实现 IPropertyChangeNotifier接口的类,绑定机制将不会工作。
在这个例子中,你将看到问题窗口下的以下提示信息(见图4):
数据绑定将不能实现侦测userName的任务。
图4.问题面板显示的警告信息
要让前面的数据绑定能够工作,你可以将[Bindable]标签加到类声明前面。
这将使得这个类的所有公共属性能够被绑定。Flex的编译器将会为你生成公共的getter和setter方 法,这些将会包含使绑定工作的所有必要代码。
或者如果你不希望使类的所有属性都可以绑定,你可以将[Bindable]标签加到特定的属性前面。 ObjectProxy 类
数据绑定要求被绑定的类实现IPropertyChangeNotifier接口,否则该对象将不能被绑定。
尽管如此,类/属性或变量,如原始变量,没有标记[Bindable]标签不能实现这个接口。
如果这个类是你自己写的类,你所需要做的就是添加[Bindable]元数据标签。
如果不是你自己的类,你又希望绑定它,或你只是希望运行时添加绑定功能,你可以使用ObjectProxy类。
ObjectProxy封装一个没有绑定的类并在这个被绑定类的任何属性改变时派发属性改变事件,
使得你能监听你程序里的该对象的属性改变。
你可以在Adobe Flex 4语言参考里找到更多关于ObjectProxy类的更多信息。
下面的例子使用了ObjectProxy类。我创建了一个ObjectProxy的实例并把我希望看到的对象传给它,在这个例子里是 UserInfo。
接着我添加了一个事件监听,来跟踪UserInfo各项的改变。
flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
minWidth="1024" minHeight="768"
creationComplete="creationCompleteHandler()">
发表评论
-
java与flex通信
2012-01-20 01:26 452java与flex通信 2010年10月22日 一、准备 ... -
Flex是咋回事之三 谁用谁知道
2012-01-20 01:26 548Flex是咋回事之三 谁用谁知道 2010年09月21日 ... -
Flex 数据易犯错误: 常见误用和错误
2012-01-20 01:26 513Flex 数据易犯错误: 常见 ... -
关于Flex 的渲染器的总结
2012-01-20 01:26 714关于Flex 的渲染器的总 ... -
经典的串口调试助手源代码(一)
2012-01-19 09:16 373经典的串口调试助手源代码(一) 2011年05月26日 ... -
经典的串口调试助手源代码(一)
2012-01-19 09:16 668经典的串口调试助手源代码(一) 2011年04月26日 ... -
转 Windows API 函数在VFP中的运用
2012-01-19 09:16 574转 Windows API 函数在VFP中的运用 2010年 ... -
VB-2.1
2012-01-19 09:16 553VB-2.1 2011年09月26日 Option E ... -
VB窗口图表化
2012-01-19 09:16 532VB窗口图表化 2011年04月20日 '本模块为实现托 ... -
显卡的构成
2012-01-17 01:49 716显卡的构成 2011年06月18日 显卡的基本构成 ... -
<<游戏是这样写成的>>(OpenGL ES,Objc++,MD2模型显示,粒子系统)
2012-01-17 01:49 588>(OpenGL ES,Objc++,MD2模型显示,粒 ... -
怎样用OpenGL在某一位置上写字符串?
2012-01-17 01:49 559怎样用OpenGL在某一位置上写字符串? 2011年11月2 ... -
OpenGL开发库的详细介绍
2012-01-17 01:49 632OpenGL开发库的详细介绍 ... -
是傻频日志呵阡啄凛仄
2012-01-15 20:59 533是傻频日志呵阡啄凛仄 2012年01月09日 刘 ... -
???
2012-01-15 20:59 460??? 2012年01月10日 ... -
我的日志
2012-01-15 20:59 492我的日志 21小时前 ... -
我的日志
2012-01-15 20:59 445我的日志 2012年01月14日 护卫队的战士C ... -
BusyBox 简化嵌入式 Linux 系统 (转载)
2012-01-15 20:59 714BusyBox 简化嵌入式 Linux 系统 (转载) 20 ...
相关推荐
flex数据绑定的原理
FLEX数据绑定专题 多种方式进行flex的数据 绑定 同时使java做为后台
flex 数据绑定dataGrid.rar
数据绑定是Flex的关键这本电子数详细介绍有关Flex绑定的知识
数据绑定内容简介: 现在数据库或是某个文件里有一些数据需要显示在界面上该怎么办呢?我们的目的就是将这些数据设法放到界面上去可以显示出来,这个将数据放到界面上去的... 在Flex应用中程序中,数据绑定的实际是借
这个是关于flex数据绑定的pdf,个人觉得讲的挺好的,是从javaeye上下载的,讲的很详细。
用于flex数据绑定,是初学flex看,在开发中需要用到的,帮助文档
Flex数据绑定[收集].pdf
博文链接:https://hacker47.iteye.com/blog/235758
flex页面跳转及数据绑定的方法,flex页面跳转及数据绑定的方法
Flex Bind数据绑定实例代码 ActionScript 3.0
总结了所有flex3中用到的数据绑定,并带有实例讲解。
Flex.3数据绑定(2)Flex.3数据绑定(2)Flex.3数据绑定(2)Flex.3数据绑定(2)
这是Flex第一步中数据绑定的例子,编写了顺便和大家分享一下。
利用Flex中高级数据绑定实现界面的多语言切换。
flex中的datagrid是一个重量级的组建,也是数据绑定中的主要组件之一。
NULL 博文链接:https://licoolxue.iteye.com/blog/650615
FLEX 数据绑定 Flex HTTPservice使用 Flex 创建自定义事件。 其它入门基础等。
Flex学习笔记_09 数据绑定_概念、使用 - Java&Flex - JavaEye技术网站 希望对爱好有帮助!!
抓取AMF协议的flex页面,支持模拟登录和页面抓取。