2010-11-02 71 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