flex 控制accordion 导航器中的按钮

如果想要控制按钮权限,单纯使用 change事件无法实现,因为这个事件发生的时候,按钮还没有被创建,所以引用时不起作用,只能在控件的complete事件中才能起作用,代码如下:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"       xmlns:s="library://ns.adobe.com/flex/spark"       xmlns:mx="library://ns.adobe.com/flex/mx"       xmlns:ns1="*"       width="953" height="1328" minWidth="955" minHeight="600" creationComplete="application1_creationCompleteHandler(event)">  <fx:Script>   <![CDATA[    import mx.controls.Alert;    import mx.events.FlexEvent;    import mx.events.IndexChangedEvent;          protected function seta( ):void    {     // Todo Auto-generated method stub     var a:int;      a=s.selectedindex;     if(a==0){      //Alert.show('0获得焦点');      this['btn1'].enabled=false;     }     if(a==1){      //Alert.show('1获得焦点');      this['btn2'].enabled=false;     }    }          protected function application1_creationCompleteHandler(event:FlexEvent):void    {          seta();    }          ]]>  </fx:Script>  <fx:Declarations>   <!-- 将非可视元素(例如服务、值对象)放在此处 -->  </fx:Declarations>  <ns1:date1 x="645" y="68" width="200">  </ns1:date1>  <ns1:reg x="130" y="-8" width="2232" height="1554">  </ns1:reg>  <mx:Accordion   id="s" x="30" y="57" width="200" height="200" >   <s:NavigatorContent width="100%" height="100%" label="可折叠窗格 1">    <s:Button id="btn1" x="51" y="83" label="按钮"  creationComplete="seta();"/>   </s:NavigatorContent>   <s:NavigatorContent   width="100%" height="100%" label="a">    <s:Button id="btn2" x="92" y="93" label="按钮" creationComplete="seta();"/>   </s:NavigatorContent>  </mx:Accordion> </s:Application>

相关文章

一:display:flex布局display:flex是一种布局方式。它即可以...
1. flex设置元素垂直居中对齐在之前的一篇文章中记载过如何...
移动端开发知识点pc端软件和移动端apppc端软件是什么,有哪些...
最近挺忙的,准备考试,还有其他的事,没时间研究东西,快周...
display:flex;把容器设置为弹性盒模型(设置为弹性盒模型之后...
我在网页上运行了一个Flex应用程序,我想使用Command←组合键...