2010-11-02 63 views
0

我有一些按钮的切换设置为true。我试图重新设置按钮的状态为未选中状态。但是,我不能直接访问按钮,如:button.selected = false。Flex 3:通过UIComponent取消选择切换按钮参考

我正在访问按钮的HBox的孩子。 UIComonent没有选定的属性。那么,如何取消选择下面这段代码中的切换?

for (var j : int=0; j < theHBox.numChildren; j++){ 
    var child : DisplayObject = theHBox.getChildAt(j); 
    var myButton:UIComponent = child as UIComponent; 
    myButton.setStyle("borderColor", "blue"); 
    myButton.visible = true; 
    } 

回答

2

如果可能的话,我会建议铸造UIComponent:为一个按钮:

for (var j : int=0; j < theHBox.numChildren; j++){ 
    var child : DisplayObject = theHBox.getChildAt(j); 
    if(child is Button){ 
    var myButton:Button = child as Button; 
    myButton.setStyle("borderColor", "blue"); 
    myButton.visible = true; 
    } else if(child is somethingElse){ 
    // do something else 
    } 
} 

你也可以做这样的事情:

for (var j : int=0; j < theHBox.numChildren; j++){ 
    var child : DisplayObject = theHBox.getChildAt(j); 
    var myButton:UIComponent = child as UIComponent; 
    myButton.setStyle("borderColor", "blue"); 
    myButton.visible = true; 
    myButton['toggle'] = false; 
} 

如果所有的孩子都按钮时仍将工作,但如果'myButton'没有切换属性,则会引发运行时错误。

+0

嗨Flextras.com,非常感谢您的帮助。我使用了选项1.我能够摆脱UIComponent。所以,我将这行改为var myButton:Button = child as Button。我使用的其他代码保持不变。再次感谢。 – Laxmidi 2010-11-03 14:35:45

+0

我的错字很好。当我在浏览器中编写代码时,会发生这种情况。我会在我的答案中解决它。乐意效劳! – JeffryHouser 2010-11-03 20:21:22