国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

14.4.使用ActionScript來進行數據綁定

2024-04-27 13:52:18
字體:
來源:轉載
供稿:網友
14.4.1. 問題
我想去通過ActionScript 而不是MXML 來創建一個數據綁定。
14.4.2. 解決辦法
使用類mx.utils.binding.BindingUtils 來創建mx.utils.binding.ChangeWatcher 對象。
14.4.3. 討論
使用ActionScript 來創建數據綁定,當目標更新的時候,可以給你提供更多的可控性。為了使用ActionScript 創建一個數據綁定,使用類BindingUtils 來創建一個ChangeWatcher 對象。

BindingUtils 提供了兩個靜態方法,可用于創建數據綁定:bindProperty 和bindSetter。

使用方法bindProperty 和BindingUtils 和在MXML 中使用<mx:Binding>標記的效果是一致的。

不像使用<mx:Binding>標記一樣,有可使用的屬性,需要使用ActionScript 來進行聲明,BindingUtils.bindProperty 的參數用于定義源和目標對象以及屬性。如下:
+展開
-ActionScript
var watcher:ChangeWatcher = BindingUtils.bindProperty( destination, "property", source, "property" );

通過方法BindingUtils.bindSetter,你可以聲明函數來處理數據綁定的源數據的更新事件。
+展開
-ActionScript
var watcher:ChangeWatcher = BindingUtils.bindSetter( invalidateProperty, source, "property" );
...
private function invalidateProperty( arg:* ):void
{
// perform any necessary operations.
}

當使用了靜態方法bindProperty 和bindSetter 后,則沒有必要定義變量ChangeWatcher 了。然而,有的時候你可能需要利用返回的ChangeWatcher 對象,因為通過該對象,則有可以更新數據源、目標屬性以及停止數據綁定。

接下來的例子中,使用方法BindingUtils.bindProperty 在控件TextInput 和控件Text 間的text屬性間進行了數據綁定:
+展開
-XML
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxmllayout="verticalcreationComplete="initHandler();">
<mx:Script>
<![CDATA[
import mx.binding.utils.ChangeWatcher;
import mx.binding.utils.BindingUtils;
private var _nameWatcher:ChangeWatcher;
private function initHandler():void
{
_nameWatcher = BindingUtils.bindProperty( nameField, "text", nameInput, "text" );
}
private function clickHandler():void
{
if( _nameWatcher.isWatching() )
{
_nameWatcher.unwatch();
btn.label = "watch";
}
else
{
_nameWatcher.reset( nameInput );
btn.label = "unwatch";
}
}

]]>
</mx:Script>
<mx:Panel title="User Entry."
paddingLeft="5paddingRight="5"
paddingTop="5paddingBottom="5">

<mx:Form>
<mx:FormItem label="Name:">
<mx:TextInput id="nameInput" />
</mx:FormItem>
</mx:Form>
<mx:HRule width="100%" />
<mx:Label text="You Entered:fontWeight="bold" />
<mx:HBox>
<mx:Label text="First Name:" />
<mx:Text id="nameField" />
</mx:HBox>
<mx:Button id="btnlabel="unwatch"
click="clickHandler();" />

</mx:Panel>
</mx:Application>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平远县| 开远市| 河南省| 昭通市| 渭源县| 文山县| 葫芦岛市| 定远县| 祁门县| 汨罗市| 鸡泽县| 无为县| 竹溪县| 噶尔县| 临沭县| 大庆市| 永安市| 富蕴县| 尖扎县| 平顶山市| 鹰潭市| 乌兰县| 昭通市| 额尔古纳市| 贵南县| 永丰县| 四川省| 越西县| 平定县| 广水市| 郁南县| 岚皋县| 广灵县| 星座| 吉林市| 华坪县| 榆社县| 长宁县| 尚义县| 巩义市| 天长市|