evaluationService在E3兼容性层中与API兼容。但是E4中的实现完全不同,导致的行为
requestevaluation发生根本性的变化。
我能找到的最佳解决方案是手动停用并激活当前活动零件的所有上下文。这将导致内部重新评估,并在需要时重新呈现各个部分的所有UI元素。
有人可能会说,这比要求评估非常特定的属性的效率低,正如evaluationService应该这样做的那样。但是由于评估仅限于活动部件,因此不应产生过多的开销。它确实可以全局工作,因为不再需要特定的属性字符串。
唯一尚未包括的用例可能是RCP应用程序的主工具栏。
public static void triggerUIElementsevaluation() { try { final EPartService partService = PlatformUI.getWorkbench().getService(EPartService.class); final MPart activePart = partService.getActivePart(); if (activePart != null) { activePart.getContext().deactivate(); activePart.getContext().activateBranch(); } } catch (IllegalStateException e) { }}

![如何在Eclipse 4中强制手动评估属性测试器?[重复] 如何在Eclipse 4中强制手动评估属性测试器?[重复]](http://www.mshxw.com/aiimages/31/509428.png)
