adobe flex vbox启用仅适用于第二次

时间:2012-10-25 19:54:34

标签: flex

我遇到的情况是我使用数据网格(灵活),当我选择行时,我想启用/禁用网格下方的窗格。如果我选择了1行,我希望它启用,如果我有0,或者选择了多于1,我希望它被禁用。该窗格被初始禁用,并且启用在100%的时间内都很有效。 enabled="false"仅在我选择了三行后才有效。如果我选择了两行,我可以证明我将其设置为false,但它不需要。

我已尝试invalidateDisplayList,触发事件以再次设置enabled="false"。似乎没什么用。

我在一个模块中工作,如果这有任何区别。如果我设置AlertInfoPanel.enabled=false,它并不总是有效。

<mx:VBox>
<flexi:myGrid />
</mx:VBox>

<mx:VBox id="AlertInfoPanel" height="70%" width="100%" visible="{mAllowConfig}"  includeInLayout="{mAllowConfig}" enabled="false" >
     <mx:TabNavigator width="100%" height="100%" paddingTop="0" tabHeight="20" id="TAB_NAVIGATOR" >
                        <components:Tab1 label="{getToken('token_tab_general')}" id="generalInfoUI"/>
                        <components:Tab2 label="{getToken('token_tab_rules')}" />
     </mx:TabNavigator>
</mx:VBox>

2 个答案:

答案 0 :(得分:2)

我终于明白了。我需要致电AlertInfoPanel.validateNow()

我不明白为什么它有时会起作用,但VBOX上的validateNow()似乎有效。

答案 1 :(得分:0)

试试这个

<mx:VBox id="AlertInfoPanel" height="70%" width="100%" visible="{mAllowConfig}" 
   includeInLayout="{mAllowConfig}" enabled="{myGrid.selectedItems.length==1}" />