Что мы сделали
Решение, которое мы в итоге использовали, состояло в том, чтобы отключить эти пункты меню, тем самым отключив их соответствующие сочетания клавиш, когда элемент управления, на который эти пункты меню должны были воздействовать.
Это решило проблему, когда нажатие кнопки «Удалить» в несвязанном текстовом поле удаляет выбранный элемент в главном виджете. Однако это создает проблему, заключающуюся в том, что пользователь должен щелкнуть основной виджет, чтобы получить доступ к этим пунктам меню. Чтобы немного противостоять этому, я сделал так, чтобы основной виджет снова фокусировался, когда панель со скрываемыми виджетами скрыта.
Я не защищаю это решение, просто включаю его для полноты.
Что бы мне понравилось
Мое окончательное решение - выполнять действие только в том случае, если:
- основной виджет имеет фокус, ИЛИ
- четное срабатывание при нажатии на пункт меню
но, похоже, нет способа определить, была ли активирована четная клавиша в рамке.