2

MXML では、コンポーネントをViewStackand creationPolicyisに追加するとauto、それらに切り替えるまでコンポーネントはインスタンス化されません。たとえば、次のコードがあります。

<mx:ViewStack creationPolicy="auto">
    <s:NavigatorContent>
        <s:DataGrid id="dg1" width="300"/>
    </s:NavigatorContent>
    <s:NavigatorContent>
        <s:DataGrid id="dg2" width="100"/>
    </s:NavigatorContent>
</mx:ViewStack>

この動作を ActionScript で再現するにはどうすればよいですか? 問題は、私の DataGrid が大量のデータを保持しているため、それらを同時に作成したくないことです。

4

2 に答える 2

0

ViewStackクラスにはcreationPolicyプロパティがあるようです。このようなものが機能するはずです

var v:ViewStack = new ViewStack();
v.creationPolicy = "auto";


var t1:NavigatorContent = new NavigatorContent();
t1.addElement(new DataGrid());

v.addElement(t1);
于 2012-10-09T01:28:20.570 に答える
0

これで試してみてください

var v:ViewStack = new ViewStack();
v.creationPolicy = "auto";

var container:SkinnableContainer = new SkinnableContainer();
container.creationPolicy = "none";

var dg:DataGrid = new DataGrid();
container.addElement(dg);

var t1:NavigatorContent = new NavigatorContent();
t1.addElement(container);

v.addElement(t1);

viewstack_change ハンドラの後、呼び出す必要があります

container.createDeferredContent()表示するインデックス ビューに基づいて。

詳しくは createDeferredContent() メソッドを使用する

于 2012-10-10T15:28:36.170 に答える