Вопрос

У меня есть обязательная добыча в компоненте, который сообщает мне, когда работает [скрытый] таймер. У меня также есть контекстное меню, которое, если этот таймер запущен, должен отключить одно из пунктов меню. Можно ли создать изменение, который наблюдает за отрицательный состояние обязательной недвижимости / добыча и изменения enabled Свойство пункта меню?

Вот основные методы, которые я пытаюсь связать вместе:

Класс 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");
}

В указанном выше коде у меня есть обратный случай: когда ISPlaying () является True, пункт меню включен; Я хочу, чтобы это было включено только тогда, когда состояние ложно.

Я мог бы создать вторую добычу (есть и другие привязки, которые полагаются на текущий добытель), чтобы вернуть обратное условие, но это звучит уродливым для меня:

[Bindable]
public function get isNotPlaying():Boolean {
    return !isPlaying;
}

Это возможно, или есть еще один подход, я полностью пропавшись?

Это было полезно?

Решение

Может ли использовать установку BINGTER на привязке Utils, но ваш подход кажется действительным, в противном случае свойство BIND слепого к типам свойств, которые он отображает, поэтому у него нет параметра отрицательного состояния.

Другие советы

Я бы расширил ContextMenuitem и создаю настраиваемую недвижимость на этом, что вы можете использовать для установки включенного или не базового контекстно-метеологии

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top