2

如何强制 Eclipse 重新评估所有处理程序的 activeWhen 条件?

情况:我在 TreeViewer 上定义了一个命令。该命令有多个可能的处理程序。处理程序已经定义了一些条件来决定处理程序是否应该被激活。

我的问题是,在我取消选择树中的项目(例如选择另一个项目)并再次选择它之前,没有重新评估处理程序条件。

如果选择没有改变但引发条件改变(例如由于元素的更新),错误的处理程序将被执行。

有没有办法手动强制对选择进行处理程序重新评估?

4

1 回答 1

1

如果您的条件使用属性测试器检查您的 treeviewer 选择中的状态,那么您需要通知 IEvaluationService 相关属性已更改。看org.eclipse.ui.services.IEvaluationService.requestEvaluation(String)

于 2012-08-23T19:11:42.097 回答