J'abandonne. Espérons que je manque quelque chose de facile, mais j'ai l'impression de tirer les dents pour essayer de faire fonctionner ça. Tout ce que je veux, c'est un composant 'assistant' personnalisé dont les enfants sont placés dans un ViewStack et sous ViewStack il y a un bouton suivant et un bouton retour. Voici quelques extraits de code pour illustrer mon approche:Composant Flex 4 personnalisé avec les enfants insérés directement dans la pile de vues
WizardGroup.as:
[SkinPart(required="true")]
public var nextBt:Button = new Button();
[SkinPart(required="true")]
public var backBt:Button = new Button();
[SkinPart(required="true")]
public var stack:ViewStackSpark = new ViewStackSpark();
WizardGroupSkin.mxml:
<s:VGroup width="100%" height="100%"
paddingBottom="10" paddingTop="10" paddingLeft="10" paddingRight="10">
<container:ViewStackSpark id="stack" width="100%" height="100%">
<s:Group id="contentGroup" width="100%" height="100%" minWidth="0" minHeight="0"/>
</container:ViewStackSpark>
<s:HGroup horizontalAlign="right" width="100%">
<s:Button id="nextBt" label="Next" enabled="{hostComponent.permitNext}" enabled.last="false"/>
<s:Button id="backBt" label="Back" enabled="{hostComponent.permitBack}" enabled.first="false"/>
</s:HGroup>
</s:VGroup>
Même si cela est très proche de travailler, le problème majeur est que la les enfants du composant WizardGroup ne sont pas ajoutés en tant qu'enfants du viewstack. Au lieu de cela, ils sont ajoutés en tant qu'enfants du groupe de contenu. Ainsi, la viewstack aura toujours un seul enfant: contentGroup. J'ai également essayé l'approche de lier le contenu de la pile de vue aux enfants de contentGroup, mais avec les conteneurs Spark, il n'y a aucun moyen d'accéder à un tableau d'enfants ou un tableau d'éléments (ie, il n'y a aucun contentGroup. getChildren() ou contentGroup.getElements())
Des idées? Merci tout le monde.