Чистое использование E4 activeWhen Expression
Я перевожу свой E3 в чистое приложение E4. Приложение E3 использовало выражение activeWhen-Core в сочетании с propertyTesters для включения / выключения ToolItems в реальном времени. Теперь в E4 поддерживается только выражение VisibleWhen Core Expression (верно?).
Буду ли я делать это с @CanExecute-Annotation сейчас или есть (скрытый) activeWhen Expression? И если да, могу ли я использовать уже существующие тестеры в этом случае, или было бы лучше использовать новый подход (как и индивидуальный тест для отдельных случаев)?
1 ответ
Нет активного выражения при e4.
Если вы определяете обработчик для команды в основной таблице обработчиков в Application.e4xmi, то он активен везде, и вам придется использовать его @CanExecute
контролировать, если ToolItem/MenuItem включен.
Альтернативой является определение обработчика для команды в таблице обработчиков для детали (или окна). Тогда ToolItem/MenuItem будет активен, только если для активной части и ее обработчика определен обработчик @CanExecute
возвращает истину.