国产探花免费观看_亚洲丰满少妇自慰呻吟_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>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 历史| 天峻县| 宝清县| 镇平县| 泾源县| 顺昌县| 长宁县| 富锦市| 广南县| 玉田县| 秦皇岛市| 永泰县| 祁东县| 鹤岗市| 阿坝县| 神农架林区| 阿拉善右旗| 双流县| 大邑县| 子洲县| 句容市| 元阳县| 磐石市| 远安县| 同仁县| 济源市| 建水县| 西畴县| 咸丰县| 乌拉特中旗| 巫山县| 扶沟县| 桦南县| 陕西省| 竹山县| 盐池县| 聂拉木县| 荔波县| 宁夏| 林西县| 南阳市|