Flex 動態(tài)綁定BindingUtils.bindProperty
更新時間:2009年06月11日 22:39:26 作者:
Flex 動態(tài)綁定BindingUtils.bindProperty實現(xiàn)代碼。
關(guān)鍵字:BindingUtils.bindProperty
需導(dǎo)入:import mx.binding.utils.BindingUtils;
/**
* 動態(tài)綁定
* @params site:Object 被綁定對象
* @params prop:String 被綁定對象的屬性,如textInput的text屬性
* @params host:Object 監(jiān)視者對象
* @params chain:Object 監(jiān)視者對象的屬性
* @return ChangeWatcher
* **/
BindingUtils.bindProperty(site:Object,prop:String,host:Object,chain:Object);
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" initialize="init();">
<mx:Script>
<!--[CDATA[
import mx.binding.utils.BindingUtils;
import mx.binding.utils.ChangeWatcher;
private var watcher1:ChangeWatcher;
private var watcher2:ChangeWatcher;
/**
* 動態(tài)綁定
* @return void
* **/
private function Binding():void {
//綁定ID為txt2的txtInput
//綁定屬性為txtInput的text
//監(jiān)視者ID為txt1的txtInput
//監(jiān)視者屬性為txtInput的text
watcher1 = BindingUtils.bindProperty(txt2,"text",txt1,"text");
//綁定ID為txtComb的txtInput
//綁定屬性為txtInput的text
//監(jiān)視者ID為comb的ComboBox
//監(jiān)視者屬性為ComboBox的value
watcher2 = BindingUtils.bindProperty(txtComb,"text",comb,"value");
}
/**
* 解除綁定
* @return void
* **/
private function UnBinding():void {
//解除綁定
watcher1.unwatch();
watcher2.unwatch();
}
]]-->
</mx:Script>
<mx:ApplicationControlBar dock="true">
<mx:Button label="動態(tài)綁定" click="Binding();"/>
<mx:Button label="解除綁定" click="UnBinding();"/>
</mx:ApplicationControlBar>
<mx:VBox width="200" height="200">
<mx:Spacer height="30"/>
<mx:TextInput id="txt1"/>
<mx:TextInput id="txt2"/>
<mx:Spacer height="30"/>
<mx:ComboBox id="comb">
<mx:dataProvider>
<mx:Array>
<mx:String>Beijing</mx:String>
<mx:String>Shanghai</mx:String>
<mx:String>Hangzhou</mx:String>
</mx:Array>
</mx:dataProvider>
</mx:ComboBox>
<mx:TextInput id="txtComb"/>
</mx:VBox>
</mx:Application>
需導(dǎo)入:import mx.binding.utils.BindingUtils;
/**
* 動態(tài)綁定
* @params site:Object 被綁定對象
* @params prop:String 被綁定對象的屬性,如textInput的text屬性
* @params host:Object 監(jiān)視者對象
* @params chain:Object 監(jiān)視者對象的屬性
* @return ChangeWatcher
* **/
BindingUtils.bindProperty(site:Object,prop:String,host:Object,chain:Object);
復(fù)制代碼 代碼如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" initialize="init();">
<mx:Script>
<!--[CDATA[
import mx.binding.utils.BindingUtils;
import mx.binding.utils.ChangeWatcher;
private var watcher1:ChangeWatcher;
private var watcher2:ChangeWatcher;
/**
* 動態(tài)綁定
* @return void
* **/
private function Binding():void {
//綁定ID為txt2的txtInput
//綁定屬性為txtInput的text
//監(jiān)視者ID為txt1的txtInput
//監(jiān)視者屬性為txtInput的text
watcher1 = BindingUtils.bindProperty(txt2,"text",txt1,"text");
//綁定ID為txtComb的txtInput
//綁定屬性為txtInput的text
//監(jiān)視者ID為comb的ComboBox
//監(jiān)視者屬性為ComboBox的value
watcher2 = BindingUtils.bindProperty(txtComb,"text",comb,"value");
}
/**
* 解除綁定
* @return void
* **/
private function UnBinding():void {
//解除綁定
watcher1.unwatch();
watcher2.unwatch();
}
]]-->
</mx:Script>
<mx:ApplicationControlBar dock="true">
<mx:Button label="動態(tài)綁定" click="Binding();"/>
<mx:Button label="解除綁定" click="UnBinding();"/>
</mx:ApplicationControlBar>
<mx:VBox width="200" height="200">
<mx:Spacer height="30"/>
<mx:TextInput id="txt1"/>
<mx:TextInput id="txt2"/>
<mx:Spacer height="30"/>
<mx:ComboBox id="comb">
<mx:dataProvider>
<mx:Array>
<mx:String>Beijing</mx:String>
<mx:String>Shanghai</mx:String>
<mx:String>Hangzhou</mx:String>
</mx:Array>
</mx:dataProvider>
</mx:ComboBox>
<mx:TextInput id="txtComb"/>
</mx:VBox>
</mx:Application>
相關(guān)文章
flex SystemManger監(jiān)控用戶是否和程序打交道
flex中可以通過SystemManger監(jiān)控用戶是否和程序打交道2009-05-05
讓Flex Builder 3.0與Eclipse3.4整合起來
Flex Builder 3.0 For Eclipse 3.3 安裝方法2009-02-02
Flex中讓鼠標(biāo)移至AdvancedDataGrid的行上不自動修改顯示效果
公司項目中出于性能考慮,把mx:Repeater控件換成了mx:AdvancedDataGrid控件來顯示。2009-05-05

