【发布时间】:2011-06-19 22:24:06
【问题描述】:
您知道任何可以处理预折叠时工作的动态内容的可折叠 flex 容器吗?
我尝试了 Arc90 for Flex 的 CollapsiblePanel 组件,但它在预折叠时不起作用。
如果我在面板中有一个 VBox,并且我将 CollapsiblePanel 的“collapsed”属性设置为 true,则无法恢复 CollapsiblePanel 的大小。似乎这就是正在发生的事情:
- CollapsiblePanel 的折叠属性在 MXML 标记中预设为 true。
- 由于 CollapsiblePanel 已折叠,VBox 会自动将其高度调整为 0。
- 当 CollapsiblePanel 的 collapsed 属性更改为 false(即由用户展开)时,VBox 不会自行展开,因为它的父级内容区域为 0。
- 因此,CollapsiblePanel 保持相同的高度,因为其内容的高度为 0。
- 因此...
注意:只有在 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();
}
有没有人成功地做到了这样的事情?你用的是什么组件?
【问题讨论】:
-
这段代码似乎对我有用。也尝试给 CollapsiblePanel 和 VBox 一个高度尺寸。比如 height="100%" 这样就可以恢复到那个大小
-
@[Ian T] 我添加了 height="100%" 但没有任何效果。加载模块时是否还预先折叠 MXML 中的 CollapsiblePanel?
标签: apache-flex actionscript resize