我有多个组件嵌套到另一个组件中。就像一个<s:Group />
是其他<s:Group />
的孩子一样,是另一个<s:Group />
的孩子,依此类推。问题是根据不同的条件,不同的组件被禁用。可能会发生所有组件一次性被禁用,由此最内层组件失去其可见性。
我在这里发布了一个描述我情况的示例代码。
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" >
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:Group horizontalCenter="0" verticalCenter="0" >
<s:Group enabled="false">
<s:Group enabled="false">
<s:Group enabled="false" horizontalCenter="0" verticalCenter="0">
<mx:Canvas disabledOverlayAlpha="1" width="{tlGroup.width}" height="{tlGroup.height}">
<s:TileGroup id="tlGroup" enabled="false" >
<mx:CheckBox selected="true" enabled="true"/>
<mx:CheckBox enabled="true" />
</s:TileGroup>
</mx:Canvas>
</s:Group>
</s:Group>
</s:Group>
</s:Group>
</s:WindowedApplication>
此外,我无法使用disabledAlpha=""
,因为我在其他编译器参数(-theme=${flexlib}/themes/Halo/halo.swc
)中使用Halo主题。
答案 0 :(得分:0)
这似乎是使用Flex states的好例子。
将代码添加到您的MXML文件中:
<s:states>
<s:State name="my_state_1" />
<s:State name="my_state_2" />
</s:states>
然后添加到您的论坛和/或元素includeIn="my_state_1"
和enabled.my_state_2="true"
等。