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()">
发表评论
-
判断是否是正确日期字符串的函数
2012-07-06 09:52 1138个人写的一个判断是否是正确日期字符串的函数, 请大家点评 ... -
PyQt4--QLineEdit内引入正则表达式
2012-07-06 09:46 1512from PyQt4.QtCore import * ... -
杂记之通过style样式xml定义规范组件属性
2012-07-03 13:44 978效果图 main.xml 组件进行关联 --& ... -
Flex 不支持GIF的解决方法
2012-07-02 13:12 892GIF图片,加载到Image后,不能动起来,需要把 gif ... -
使用Flex和Actionscript开发Flash游戏――碰撞检测
2012-07-02 13:12 578这一部分,我们加 ... -
完美解决Panel设置了borderSkin后内容体与标题栏重叠的问题
2012-07-02 13:12 785如果您做过Flex皮肤 ... -
flex 实现的多点切割+mask蒙版+自动识别非透明区域+自适应图片大小
2012-07-02 13:12 1455先上代码: 1){ ... -
flex 界面改进
2012-07-02 13:12 572f 代码如下: ... -
flex 实现的多点切割+mask蒙版+自动识别非透明区域+自适应图片大小
2012-07-01 10:44 1208先上代码: Arr ... -
Flex DataGrid单元格背景色 单元格字体颜色控制
2012-07-01 10:43 1093前阵子在做Flex网页时,关于单元格字体颜色这方面纠结了好 ... -
flex 读取配置文件 与PHP交互 圆饼图
2012-07-01 10:43 628FLEX文件 teacherevalute.mxml ... -
flex 界面改进
2012-07-01 10:43 650f 代码如下: Arr ... -
flex招式八:flex共享对象ShareObject
2012-07-01 10:43 773flex的共享对象ShareO ... -
Flex是咋回事之三 谁用谁知道
2012-06-30 17:07 613Flex是咋回事之三 谁用谁知道 2010年09月21日 ... -
java与flex通信
2012-06-30 17:07 598java与flex通信 2010年10月22日 一、准备 ... -
如何使用Maven 3.0, Flex Mojos 4.0和Flex 4.5构建一个简单的SWF程序
2012-06-30 17:07 1281如何使用Maven 3.0, Flex Mojos 4.0和F ... -
学习flex 初步实现与java进行数据交互
2012-06-30 17:07 635学习flex 初步实现与java进行数据交互 2010年06 ...
相关推荐
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页面,支持模拟登录和页面抓取。