Показать сообщение отдельно
Старый 26.08.2011, 16:03
son_of_war вне форума Посмотреть профиль Отправить личное сообщение для son_of_war Найти все сообщения от son_of_war
  № 5  
Ответить с цитированием
son_of_war

Регистрация: Mar 2006
Сообщений: 125
Отправить сообщение для son_of_war с помощью ICQ
Когда ты в Bindable указываешь имя события, которое означает изменение свойства, компилятор не создает обертку вокруг этой переменной, в которой бы генерировалось событие. Подразумевается, что ты сам будешь посылать это событие. Этот подход нужен когда ты делаешь, скажем, read - only свойство, которое должно участвовать в биндинге в mxml (в этом случае чтобы все работало придется добавить декларацию события в метаданных класса или mxml компонента) или присутствует какая-то сложная логика обработки событий.

В твоем случае можно сделать вот так.

[Bindable]
public var status:Boolean;

private function changeStateContact(event:PropertyChangeEvent):void{

if (event.property == "status"){
currentState = "online";
}
}

и где-нибудь в инициализации компонента или в конструкторе класса добавить
addEventListener(PropertyChangeEvent.PROPERTY_CHANGE,changeStateContact);