如何在Flex中直观地"突破"Container?

one*_*ney 8 apache-flex flash mxml actionscript-3

这是我的问题 - 我有一些像这样的代码:

<mx:Canvas width="300" height="300">
     <mx:Button x="800" />
</mx:Canvas>
Run Code Online (Sandbox Code Playgroud)

所以问题是画布中的Button有一个超过Canvas宽度的x属性方式 - 因为它是Canvas的一个子节点,Canvas屏蔽它并为我创建一些滚动条以滚动到按钮.

我想要的是在没有滚动条的情况下显示按钮 - 画布左侧800像素,同时仍然将按钮保留为画布的子画面.我怎么做?

one*_*ney 8

我想通了 - 显然Container有一个名为clipContent的属性 - 这是Adobe的描述:

如果此容器的子项的位置和/或大小超出此容器的边界,是否应用剪贴蒙版.如果为false,则此容器的子项在移动或调整大小超出此容器的边框时仍保持可见.如果为true,则此容器的子项被剪裁.

如果clipContent为false,则禁用此容器的滚动,并且不会显示滚动条.如果clipContent为true,则当容器的子项扩展到容器边框之外时,通常会出现滚动条.有关滚动条外观的其他控制,请参阅horizo​​ntalScrollPolicy和verticalScrollPolicy.默认值是true.

所以基本上 - 要显示容器边界之外的按钮,我需要执行以下操作:

<mx:Canvas width="300" height="300" clipContent="false" >
     <mx:Button x="800" />
</mx:Canvas>
Run Code Online (Sandbox Code Playgroud)

这比我想象的要容易.:)

这是官方文件......