flex用AS改变MXML里定义的子对象的属性例如visible

1.7.1              问题

使用AS里的方法改变MXML里子对象的属性

1.7.2              方法

通过元件的id属性来找到这个对象,并通过id属性来设置其他的属性或调用方法

1.7.3              讨论

我们很容易将AS和MXML代码想成两个不同的部分,但实际上他们并没有分开,看下面的例子:

<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300">

    <mx:Script>

        <![CDATA[

 

            private function changeAppearance():void

            {

                this.width = Number(widthInputField.text);

                this.height = Number(heightInputField.text);

            }

 

        ]]>

    </mx:Script>

    <mx:Image id="imageDisplay"/>

    <mx:Text text="Enter a width"/>

    <mx:TextInput id="widthInputField"/>

    <mx:Text text="Enter an height"/>

    <mx:TextInput id="heightInputField"/>

    <mx:Button click="changeAppearance()" label="Change Size"/>

</mx:HBox>

1.7用AS改变MXML里定义的子对象的属性

就像你看到的,在changeAppearance方法里,用this来引用元件本身(即HBox),然后通过width和height属性来改变长和宽。通过TextFields的text属性我们可以从widthInputField和heightInputFields获得输入值。我们同样使用id属性来引用每个TextInput。每个组件都必须有唯一的id来对应他本身,而且只有一个层级,所以即使这个元件被嵌套在其他的子对象里,我们一样可以通过这个id来找到他。来看看下面这个例子,动态的设定子对象的属性:

<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" width="520" height="650">

    <mx:Script>

        <![CDATA[

 

            private var fileName:String = "";

 

            private function saveResume():void

            {

                //....a service call to send the data and set the filename

                fileNameDisplay.text = "Your resume has been saved as "+fileName;

            }

 

        ]]>

    </mx:Script>

    <mx:Text id="fileNameDisplay" text="" width="500"/>

    <mx:RichTextEditor id="richTextControl" width="500" height="400"/>

    <mx:Button id="labelButton" label="Submit Resume" click="saveResume()"/>

</mx:VBox>

上面的例子中,我们可以使用子对象的id来引用他或者改变他的属性。默认情况下,任何对其父级对象有使用权的对象都可以引用这个对象。

1.7用AS改变MXML里定义的子对象的属性


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值