Flex 3: отмена выбора кнопки переключения с помощью ссылки на UIComponent - PullRequest
0 голосов
/ 03 ноября 2010

У меня есть несколько кнопок с переключателем, установленным на true.Я пытаюсь сбросить состояние кнопки на невыбранное.Но я не могу получить доступ к кнопке, например: button.selected = false.

Я обращаюсь к детям 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;
   } 

1 Ответ

2 голосов
/ 03 ноября 2010

Если возможно, я бы рекомендовал привести 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 не имеет свойства переключателя, оно выдаст ошибку времени выполнения.

...