2012-04-11 6 views
2

ausgewählt wird, reagieren etwa so:Wie kann ich auf eine Navigatorcontent in einem View-Stapel

<mx:ViewStack id="viewStack" left="0" right="0" top="0" bottom="0"> 
    <views:LoginView top="0" bottom="0" right="0" left="0" id="loginView"/> 
    <views:MainHomeView top="0" bottom="0" right="0" left="0" id="childSelectionView"/> 
    <views:MainHomeView top="0" bottom="0" right="0" left="0" id="mainEvalView"/> 
</mx:ViewStack> 

Wenn ein Ereignis ausgelöst wird, nenne ich viewStack.selectedChild = childSelectionView

Meine Frage ist, wie Codiere ich einen Listener für den gewählten NavigatorConent? Hier

ist das, was ich versuche zu tun:

<?xml version="1.0" encoding="utf-8"?> 
<s:NavigatorContent xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" 
    xmlns:local="*" xmlns:mx="library://ns.adobe.com/flex/mx" 
    creationComplete="init()"> 

    <fx:Script> 
     <![CDATA[ 
     private function init():void 
     { 
      // Do something here 
      advanceButton.visablitiy = false; 
     } 
    ]]> 
</fx:Script> 
<s:VGroup> 

    <s:HGroup> 
     <s:Button label="Advance" id="advanceButton" /> 
    </s:HGroup> 
</s:VGroup> 

Ich weiß, dass alle NavigatorConent Depesche ein creation Ereignis auf dem Start der Anwendung, aber ihr child ist noch nicht erstellt. Wie habe ich auf die selectedChild-Änderung reagiert?

Antwort

0
<fx:Script><![CDATA[ 
    import mx.controls.Alert; 
    import mx.events.IndexChangedEvent; 

    protected function viewStack_childIndexChangeHandler(event:IndexChangedEvent):void { 
     Alert.show('Selected Child: ' + viewStack.selectedChild.label); 
    } 

    ]]></fx:Script> 

<s:layout> 
    <s:VerticalLayout/> 
</s:layout> 

<s:ButtonBar dataProvider="{viewStack}"/> 
<mx:ViewStack id="viewStack" change="viewStack_childIndexChangeHandler(event)"> 
    <s:NavigatorContent id="navigator1" label="Navigator 1"> 
     <s:Group> 
      <s:Button label="N1"/> 
     </s:Group> 
    </s:NavigatorContent> 
    <s:NavigatorContent id="navigator2" label="Navigator 2"> 
     <s:Group> 
      <s:Button label="N2"/> 
     </s:Group> 
    </s:NavigatorContent> 
</mx:ViewStack> 
+0

Ich glaube nicht, dass Sie die Frage verstanden haben. @ mike.petty74 hatte die richtige Antwort. – Spencer

Verwandte Themen