2010-12-08 81 views
0

我遇到了VBox的resize事件和调整大小效果的小问题。Flex 3 - 调整大小效果“问题”?

我有这样的事情:

<mx:VBox id="container" 
    backgroundColor="0xFFFFFF" 
    backgroundAlpha=".9" 
    paddingTop="15" 
    paddingLeft="15" 
    paddingBottom="15" 
    verticalGap="5" 
    width="210" 
    maxHeight="340" 
    resizeEffect="{resize}" 
    verticalScrollPolicy="off" 
    borderStyle="solid"> 
. 
. 
. 
</mx:VBox> 
<mx:Resize id="resize"/> 

的VBOX里面,我有一个折叠/展开取决于用户交互的一些项目。问题是,当用户扩展一个项目时,vbox调整到最大高度,然后收缩以适应实际高度。

有谁知道如何防止它调整到最大高度并缩回到它的实际高度?

感谢您的任何帮助,您可以提供=)

问候。 BS_C3

+0

我的猜测是重写VBox的updateDisplayList并处理那里的大小调整,以确保VBox不会扩大到比你需要的大。不过,根据您提供的代码段来猜测是很困难的。给我一个完整的runnable示例演示此问题,我可能能够提供更多信息。 – JeffryHouser 2010-12-08 14:38:40

回答

0

从你的问题来看,它似乎有一个与设置maxHeight属性有关的问题。也许尝试删除maxHeight="340"并替换为

resize="{if(container.height > 340) container.height = 340}" 
+0

太棒了!我会尝试的!谢谢! – 2010-12-16 20:50:29

0

或者,将VBox放在另一个容器中。将VBox高度设置为100%,并在外部容器上调整大小。我解决了使用这种类型的布局调整大小问题的负载。

+0

嗨!感谢您的回答!一旦我尝试过,我会尽快回复你^^ – 2010-12-16 20:50:48

0

尝试设置回NaN让Flex找出结果。

heightTo="{NaN}"