あきらめる。簡単なものが足りないことを願っていますが、これを機能させるために歯を抜いているような気がします。私が欲しいのは、子がViewStack内に配置され、ViewStackの下に[次へ]ボタンと[戻る]ボタンがあるカスタムの「ウィザード」コンポーネントだけです。これが私のアプローチを説明するためのいくつかのコードの抜粋です:
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>
これはほぼ機能しますが、主な問題は、WizardGroupコンポーネントの子がビュースタックの子として追加されないことです。代わりに、contentGroupの子として追加されます。したがって、ビュースタックには常にcontentGroupという1つの子しかありません。
ビュースタックのコンテンツをcontentGroupの子にバインドするアプローチも試しましたが、Sparkコンテナでは、子の配列または要素の配列にアクセスする方法がありません(つまり、contentGroup.getChildren()またはcontentGroup.getElements())
何か案は?みんな、ありがとう。