首页 > 开发 > Flex > 正文

Flex 动态绑定BindingUtils.bindProperty

2024-09-12 17:51:15
字体:
来源:转载
供稿:网友
关键字:BindingUtils.bindProperty
需导入:import mx.binding.utils.BindingUtils;
/**
* 动态绑定
* @params site:Object 被绑定对象
* @params prop:String 被绑定对象的属性,如textInput的text属性
* @params host:Object 监视者对象
* @params chain:Object 监视者对象的属性
* @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;

            /**
             * 动态绑定
             * @return void
             * **/
            private function Binding():void {

                //绑定ID为txt2的txtInput
                //绑定属性为txtInput的text
                //监视者ID为txt1的txtInput
                //监视者属性为txtInput的text
                watcher1 = BindingUtils.bindProperty(txt2,"text",txt1,"text");

                //绑定ID为txtComb的txtInput
                //绑定属性为txtInput的text
                //监视者ID为comb的ComboBox
                //监视者属性为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="动态绑定" 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>
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表