纯 E4 使用 activeWhen 表达式

pure E4 usage activeWhen Expression

我正在将我的 E3 迁移到纯 E4 应用程序。 E3 应用程序将 activeWhen-Core Expression 与 propertyTesters 结合使用到 enable/disable ToolItems 上线。现在在 E4 中只支持 VisibleWhen 核心表达式(对吧?)。

我现在是用@CanExecute-Annotation 来做还是有一个(隐藏的)activeWhen 表达式? 如果是这样,我可以在这种情况下使用已经存在的测试人员,还是使用新方法(如针对个别情况的单独测试)会更好?

e4中没有activeWhen表达式。

如果您在 Application.e4xmi 的主处理程序 table 中为命令定义一个处理程序,那么它在任何地方都是活动的,您将必须使用它的 @CanExecute 来控制 ToolItem/MenuItem 已启用。

另一种方法是在部件的处理程序 table(或 Window)中为命令定义处理程序。然后 ToolItem/MenuItem 只有在为活动部分定义了处理程序且其 @CanExecute returns 为真时才会活动。