国产探花免费观看_亚洲丰满少妇自慰呻吟_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>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 水富县| 宝丰县| 吉林市| 如东县| 文昌市| 锦屏县| 芦山县| 新安县| 郁南县| 赣州市| 利津县| 湘潭县| 阳高县| 泰和县| 兰西县| 昔阳县| 于都县| 两当县| 义马市| 渑池县| 桂平市| 玛纳斯县| 安龙县| 娄烦县| 龙口市| 安阳县| 什邡市| 博兴县| 孟村| 桃园县| 大理市| 米泉市| 车致| 迁西县| 佳木斯市| 仁寿县| 常熟市| 皋兰县| 紫云| 平顺县| 苗栗县|