我Part
包含TreeViewer
Node
个Node
,每个name
都有IViewerObservableValue observedElementSingleSelection = ViewersObservables
.observeSingleSelection(treeViewer);
IObservableValue detailValue = PojoProperties.value(Node.PROPERTY_NAME, String.class)
.observeDetail(observedElementSingleSelection);
ISWTObservableValue observableNameText = WidgetProperties.text(SWT.Modify)
.observe(nameText);
dataBindingContext.bindValue(observableNameText, detailValue);
属性。我有一个文本字段来编辑当前所选节点的名称。我已将当前选择和此文本字段绑定如下:
treeViewer
现在,当用户编辑任何Node
的名称时,我想将此Part
标记为脏的部分。
当此Node
打开时,将从数据库中检索ModifyListener
并创建树。如果我在文本字段中添加Part
以标记部分脏,那么在初始加载时Part
被标记为脏,这是我不想要的。有没有办法只在用户编辑任何Node
的名称时标记UpdateStrategy
脏,但在初始加载时没有?
我尝试设置Node
,以便数据绑定是单向的,即仅从视图到模型,但在选择时,KeyListener
名称不会出现在文本字段中。
我尝试使用Part
,但后来我必须过滤所有不可打印的键,将{{1}}标记为脏。有没有更好的解决方案?
答案 0 :(得分:0)
您可以在加载完成后添加ModifyListener
,或者在加载完成时删除修改监听器,或者在加载期间设置一个标志,修改监听器可以测试并且不将部件设置为很脏。