2010-05-10 24 views
2

J'ai un fichier mxml composant dans lequel j'ai une pile de vue, sur un clic d'un bouton je navigue vers le premier enfant, maintenant je dois naviguer vers le deuxième enfant pendant onclick d'un bouton présent dans le deuxième enfant. Tous les enfants sont des fichiers de composants inclus dans la pile de vues. Comment cela peut-il être fait, Exemple de code est présent ci-dessous,Flex: View Stack Navigator

-------------------- Application.mxml ---------- -----------

<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" > 
    <mx:Script> 
     <![CDATA[ 
      private function loadScreen():void 
      { 
       navigationViewStack.selectedChild=id_offering; 
      } 
     ]]> 
    </mx:Script> 

    <mx:Button label="Save" click="loadScreen();"/> 

</mx:Canvas> 

<mx:ViewStack id="navigationViewStack" width="100%" height="100%"> 
    <components:dashboard id="id_dashboard" label="Dashboard" /> 
    <components:offering id="id_offering" label="Offering" /> 
    <components:IssueSec id="id_issueSec" label = "Issues"/> 
</mx:ViewStack> 

------------------------- Se termine --- -----------------------------------

Maintenant dans mon fichier offering.mxml si j'essaie de access navigationViewStack Je reçois une erreur indiquant 'Accès de la propriété indéfinie navigationViewStack. Aidez-moi à accéder à la pile de vues à partir de mon fichier mxml de composant.

Merci!

Cheers, Deena

Répondre

1

événement personnalisé est la manière correcte et appropriée pour aller; si vous voulez une solution rapide et sale qui finira par devenir difficile à maintenir que la croissance de votre base de code, vous pouvez essayer à partir du bouton gestionnaire de clic dans le Offering.mxml:

ViewStack(this.parent).selectedIndex = 2; //2 for IssueSec 
4

Offering.mxml n'a pas accès à navigationViewStack car il est une propriété dans votre fichier Application.mxml. Vous devez envoyer un événement depuis l'intérieur de offer.xml, Application.mxml écouter pour cet événement et le gérer en basculant vers l'élément de pile de vue approprié.

Si vous n'êtes pas familier avec les événements personnalisés, lisez ceci:

http://livedocs.adobe.com/flex/3/html/help.html?content=createevents_3.html

+1

+1: Je vais ajouter, pour la OP, que l'apprentissage des événements personnalisés vous aidera à faire un saut quantique dans vos prouesses Flex. – Robusto