Data binding 使JFace数据绑定重新验证

Data binding 使JFace数据绑定重新验证,data-binding,swt,eclipse-rcp,jface,Data Binding,Swt,Eclipse Rcp,Jface,我有一个对话框,用于在远程系统上输入多个路径。我使用数据绑定在模型中存储这些路径。 我的数据有附加的验证器,这些验证器有一个共同的特征——当没有连接到远程系统时,将跳过验证。我在同一个对话框上有一个按钮连接到远程系统,我有一个跟踪连接状态的IObservableValue 如何在连接状态更改时重新验证相关绑定?在跟踪连接状态的IObservableValue上添加valuechangeListener。一旦连接状态改变,调用下面的方法来验证路径绑定。这可能有助于你找到你想要的东西 Binding

我有一个对话框,用于在远程系统上输入多个路径。我使用数据绑定在模型中存储这些路径。 我的数据有附加的验证器,这些验证器有一个共同的特征——当没有连接到远程系统时,将跳过验证。我在同一个对话框上有一个按钮连接到远程系统,我有一个跟踪连接状态的IObservableValue


如何在连接状态更改时重新验证相关绑定?

在跟踪连接状态的IObservableValue上添加valuechangeListener。一旦连接状态改变,调用下面的方法来验证路径绑定。这可能有助于你找到你想要的东西

Binding class
public abstract void validateTargetToModel();
public abstract void validateModelToTarget();

我认为这种方法过于繁琐,因为我倾向于在向导页之间移动控件等。我最后做的是创建ComputedValue来验证整个模型并返回IStatus,然后我的另一个自定义观察者用IStatus数据更新页面标题。这样,当相关值(包括连接状态)更改时,我的验证将正确触发。