我有两个画布A和B,A是B的子项。A可以通过一些用户操作来调整大小,比如向其基础添加一些UI组件。A被另一个父画布B所包围,如果它的孩子A太大,它应该会显示出责骂手柄。
我希望A的宽度和高度与B相同(或非常接近),而A的计算宽度和高度小于B的宽度和高度。
如果A的w或h大于B,则A应该生长,B会显示滚动。我希望这是明确的。
我的问题是我能在哪里,怎么做这样的逻辑?
画布图http://www.picimg.com/uploads/18cd2277adde7d50da2bc708075f4fac.png
发布于 2009-05-21 13:31:17
画布继承的UIComponent类具有一个minHeight和一个minWidth属性。您可以将A的最小尺寸/宽度绑定到B的宽度和高度,因此每当调整B的大小时,A的最小尺寸也会发生变化。也支持绑定到表达式(参见下面的示例)。当A变得太大而不能同时显示时,B将自动显示滚动条,您只需要提供一个固定的高度和宽度(或其他一些大小约束)。A还会在添加子级后自动调整大小。
<mx:Canvas id="B" width="..." height="...">
<mx:Canvas id="A" minHeight="{B.height-20}" minWidth="{B.width-20}">
<!-- your content widgets -->
</mx:Canvas>
</mx:Canvas>发布于 2009-05-21 13:27:28
您只需将B上的滚动策略设置为auto。这样,如果A太大,B就会有滚动条。这应该在MXML中完成。
<mx:Canvas name="B" width=100 height=100 scrollPolicy="auto">
<mx:Canvas name="A" width=90 height=90>
...
</mx:Canvas>
</mx:Canvas>https://stackoverflow.com/questions/892870
复制相似问题