0

我有一个新项目。其中一部分,Flex 是存在的。

<mx: Application xmlns:mx=...>
   <mx:script>
          import...

           function A() {
            }
    </mx:script>

    <mx:linkBar...>
    <mxViewStack ...>

       <mx:Canvas id="1st" ...>  **[HERE]**  </mx:Canvas>
       <mx:canvas id="2nd" ...>  ... </mx:Canvas>
       <mx:canvas id="3rd" ...>  ... </mx:Canvas>

** 当 Viewstack 顺序调用 Canvas 时,A() 必须工作。

是否可以在中使用函数 A() **HERE**]

或者请让我知道可以使用的可能功能或标签。

4

2 回答 2

1

下面的例子可以帮助你: -

<?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" minWidth="955" minHeight="600">
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>
    <fx:Script>
        <![CDATA[

            private function A():void
            {
                //Your code
            }

            private function viewStackHandler():void
            {
                //Method One
                if(viewStackID.selectedIndex == 0)
                {
                    A();
                }
                else if(viewStackID.selectedIndex == 1)
                {
                    A();
                }
                else
                {
                    A();
                }
                //OR Method Second
                //call only A()


            }

        ]]>
    </fx:Script>
    <mx:VBox width="100%" height="100%">
        <mx:HBox width="100%" height="20">
            <s:Button label="One" click="{viewStackID.selectedIndex = 0}"/>
            <s:Button label="Two" click="{viewStackID.selectedIndex = 1}"/>
            <s:Button label="Three" click="{viewStackID.selectedIndex = 2}"/>
        </mx:HBox>
        <mx:ViewStack width="500" height="400" id="viewStackID" change="viewStackHandler()">
            <mx:Canvas id="canval1" borderColor="#FF0000" width="100%" height="100%">
                <s:Button label="One"/>
            </mx:Canvas>
            <mx:Canvas id="canval2" borderColor="#00FF00" width="100%" height="100%">
                <s:Button label="Two"/>
            </mx:Canvas>
            <mx:Canvas id="canval3" borderColor="#0000FF" width="100%" height="100%">
                <s:Button label="Three"/>
            </mx:Canvas>
        </mx:ViewStack>
    </mx:VBox>  
</s:Application>
于 2012-06-08T09:30:46.790 回答
0

您可以使用将 Canvas 添加到 ViewStack 时调度的 add 属性

<mx:Canvas id="1st" add="A()"></mx:Canvas>
于 2012-06-05T10:02:17.700 回答