ps:附件是全文的pdf版本,以及涉及代码的myeclipse工程
1.关于数据绑定
数据绑定是将一个对象中的数据同另一个对象中的数据联系在一起的过程。数据绑定为在
应用的不同层之间传递数据提供了便捷方法。数据绑定需要一个源属性,一个目的属性,以及
用于表明何时将数据从源属性拷贝到目的属性的触发事件。当源属性变化时,对象发出触发事
件。
Adobe Flex 提供三种方法用于指定数据绑定:MXML 中的大括号({})语法,MXML 中的
<mx:Binding>标记,以及ActionScript 中的BindingUtils 的系列方法。
(1)下面的例子使用大括号({})语法来展示一个Text 控件,该控件的数据来自于TextInput 控件Text 属性:
<?xml version="1.0"?>
<!-- binding/BasicBinding.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:TextInput id="myTI" text="Enter text here"/>
<mx:Text id="myText" text="{myTI.text}"/>
</mx:Application>
数据绑定表达式中可以将ActionScript 代码以及E4X 表达式作为一部分包含进来,如下例
所示:
<?xml version="1.0"?>
<!-- binding/BasicBindingWithAS.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:TextInput id="myTI"/>
<mx:Text id="myText" text="{myTI.text.toUpperCase()}"/>
</mx:Application>
(2)用<mx:Binding>标记作为大括号语法的替代方法。在使用<mx:Binding>时,要为
<mx:Binding>标记提供一个源属性作为标记的source 属性以及提供一个目的属性作为标记的
destination 属性。下面的例子使用<mx:Binding>标记定义了一个从TextInput 控件到Text 控
件的数据绑定:
<?xml version="1.0"?>
<!-- binding/BasicBindingMXML.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:TextInput id="myTI"/>
<mx:Text id="myText"/>
<mx:Binding source="myTI.text" destination="myText.text"/>
</mx:Application>
同大括号语法相比,用<mx:Binding>标记能够将视图(用户界面)同模型完全分离。
<mx:Binding>标记也能实现将多个源属性绑定到一个相同的目的属性,这是因为能够定义多个
具有相同的destination 属性的<mx:Binding>标记.
大括号语法和<mx:Binding>标记都能在编译期定义数据绑定,而使用ActionScript 代码则
可以在运行期定义数据绑定,如下例所示:
<?xml version="1.0"?>
<!-- binding/BasicBindingAS.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.binding.utils.*;
// Define data binding.
public function initBindingHandler():void {
BindingUtils.bindProperty(myText, "text", myTI, "text");
}
]]>
</mx:Script>
<mx:TextInput id="myTI"/>
<mx:Text id="myText" preinitialize="initBindingHandler();"/>
</mx:Application>
(3)创建用作数据绑定源的属性
当创建一个用于绑定表达式源的属性,那么在源属性值发生变化时Flex 就能自动将值拷贝
到所有的目的属性。为了让Flex 执行拷贝,必须使用[Bindable]标记来向Flex 注册这个属性。
The [Bindable] 元数据标记有以下语法:
[Bindable]
[Bindable(event="eventname")]
如果忽略了事件名称,Flex 自动地创建一个名为propertyChange 的事件,并且在属性发生
变化时,由Flex 发出这个事件以触发所有以这个属性作为源的数据绑定。
下面的例子作了一个maxFontSize 属性和一个minFontSize 属性变量可用于数据绑定表达式的源:
<?xml version="1.0"?>
<!-- binding/FontPropertyBinding.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
// Define public vars for tracking font size.
[Bindable]
public var maxFontSize:Number = 15;
[Bindable]
public var minFontSize:Number = 5;
]]>
</mx:Script>
<mx:Text text="{maxFontSize}"/>
<mx:Text text="{minFontSize}"/>
<mx:Button click="maxFontSize=20; minFontSize=10;"/>
</mx:Application>
2. 在ActionScript 中定义数据绑定
通过使用mx.binding.utils.BindingUtils能够在ActionScript中定义绑定。这个类定义了
几个静态方法,通过使用bindProperty() 方法可以让我们创建一个到用变量实现的属性的数据
绑定,或者用bindSetter()方法创建一个到用方法实现的属性的数据绑定。
(1)在MXML 与在ActionScript 定义数据绑定的区别
编译期在MXML 中定义数据绑定与在运行期在ActionScript 中定义数据绑定有一些不同之
处:
分享到:
相关推荐
FLEX数据绑定专题 多种方式进行flex的数据 绑定 同时使java做为后台
flex数据绑定的原理
数据绑定是Flex的关键这本电子数详细介绍有关Flex绑定的知识
博文链接:https://hacker47.iteye.com/blog/235758
flex 数据绑定dataGrid.rar
数据绑定内容简介: 现在数据库或是某个文件里有一些数据需要显示在界面上该怎么办呢?我们的目的就是将这些数据设法放到界面上去可以显示出来,这个将数据放到界面上去的... 在Flex应用中程序中,数据绑定的实际是借
这个是关于flex数据绑定的pdf,个人觉得讲的挺好的,是从javaeye上下载的,讲的很详细。
用于flex数据绑定,是初学flex看,在开发中需要用到的,帮助文档
Flex数据绑定[收集].pdf
flex页面跳转及数据绑定的方法,flex页面跳转及数据绑定的方法
这是Flex第一步中数据绑定的例子,编写了顺便和大家分享一下。
Flex Bind数据绑定实例代码 ActionScript 3.0
总结了所有flex3中用到的数据绑定,并带有实例讲解。
Flex.3数据绑定(2)Flex.3数据绑定(2)Flex.3数据绑定(2)Flex.3数据绑定(2)
利用Flex中高级数据绑定实现界面的多语言切换。
flex中的datagrid是一个重量级的组建,也是数据绑定中的主要组件之一。
java 与 flex 数据转换,java数据类型对应flex的数据类型
FLEX 数据绑定 Flex HTTPservice使用 Flex 创建自定义事件。 其它入门基础等。
范例使用SuperMap iClient 6R for Flex开发模式,做内存数据做等级符号专题图。