2011-02-02 18 views
0

折り畳まれているときに機能する動的なコンテンツを扱う折りたたみ可能なフレックスコンテナをご存知ですか?折り畳まれた状態で動作する動的コンテンツを扱う折りたたみ可能なフレックスコンテナはありますか?

FlexのArc90でCollapsiblePanelコンポーネントを試しましたが、あらかじめ折りたたんでいても機能しませんでした。

パネル内にVBoxがあり、CollapsiblePanelの "collapsed"プロパティをtrueに設定した場合、CollapsiblePanelのサイズは復元できません。

  1. CollapsiblePanelの折りたたみプロパティは、MXMLマークアップでtrueに事前設定されています。
  2. CollapsiblePanelが折りたたまれているので、VBoxはその高さを0に自動調整します。
  3. 親のコンテンツ領域が0であるため、CollapsiblePanelの折りたたみプロパティがfalseに変更された場合(つまり、ユーザーによって展開された場合)、VBoxは展開されません。
  4. したがって、CollapsiblePanelは、高さは0
  5. したがって...

。注:これは、以下のマークアップに見られるようにCollapsiblePanelは、予め折りたたまれているときにのみ発生します。

私はすでに、これは(動作しませんでした)試した

:このような何かをやってことに成功したことのある人は

<containers:CollapsiblePanel minimize="pnl_minimize(event)" 
restore="pnl_restore(event)" height="100%" width="100%" collapsed="true"> 
    <mx:VBox width="100%" height="100%" verticalGap="0"> 
     <mx:LinkButton id="lnkSales1" label="Sales 1" /> 
     <mx:LinkButton id="lnkSales2" label="Sales 2" /> 
    </mx:VBox> 
    </containers:CollapsiblePanel> 

private function pnl_restore(event:Event):void 
{ 
    var objPanel:CollapsiblePanel = event.target as CollapsiblePanel; 
    var objChildArray:Array = objPanel.getChildren(); 
    for each (var obj:Object in objChildArray) 
    { 
     obj.invalidateSize(); 
    } 
    objPanel.invalidateSize(); 
} 

ありますか?どのコンポーネントを使用しましたか?

+1

このコードは私のために働いているようです。また、CollapsiblePanelとVBoxに高さのディメンションを与えてみてください。高さ= "100%"のようにそのサイズに戻すことができます –

+0

@ [Ian T]高さ= "100%"を追加しましたが効果はありませんでした。モジュールがロードされたときに、MXMLのCollapsiblePanelもあらかじめ折りたたんでいますか? – Zesty

答えて

0

最終的に解決策が得られましたが、回避策があります。すべてのパネルをロードしてから、マークアップで事前折りたたむのではなく、プログラムで折りたたむことができます。この方法では、そのサイズはすでに計算されており、ユーザーがリストアしたときに問題なく復元できます。

誰かがより良い解決策を持っていますか?

関連する問題