У меня есть привязываемый геттер в компоненте, который сообщает мне, когда работает [скрытый] таймер.У меня также есть контекстное меню, которое, если этот таймер работает, должно отключить один из пунктов меню.Можно ли создать ChangeWatcher, который отслеживает условие отрицательное привязываемого свойства / получателя и изменяет свойство enabled
пункта меню?
Вот основные методы I 'm пытается связать вместе:
Класс A:
[Bindable]
public function get isPlaying():Boolean {
return (_timer != null) ? _timer.running : false;
}
Класс B:
private var _playingWatcher:ChangeWatcher;
public function createContextMenu():void {
//...blah blah, creating context menu
var newItem:ContextMenuItem = new ContextMenuItem();
_playingWatcher = BindingUtils.bindProperty(newItem, "enabled", _classA, "isPlaying");
}
В приведенном выше коде у меня есть обратный случай: when isPlaying () верно, пункт меню включен;Я хочу, чтобы он был включен, только когда условие ложно.
Я мог бы создать второй получатель (есть другие привязки, которые зависят от текущего получателя), чтобы вернуть обратное условие, но это звучит уродливо для меня:
[Bindable]
public function get isNotPlaying():Boolean {
return !isPlaying;
}
Возможно ли это, или я совсем упускаю другой подход?