C# WPF 阻止绑定回列表视图

C# WPF prevent binding back to listview

我的 WPF windows 中有一个 Listview 并且我有一个 属性 List<User> users; 的绑定 我在列表视图旁边还有一个 edit/add 表单,我想在其中编辑用户并单击保存按钮以保存用户。我将表单组框的 bindingContext 设置为 currentUser,这是在 ListView 的 OnSelectionChange 事件上设置的。一切(绑定)工作正常,但我的问题是:

当我更改绑定到 currentUser 的文本框的文本并离开文本框时,它会在 listView 中自动更新。我首先想在 ListView 更新之前单击 'Save User'。我怎样才能做到这一点?

谢谢。

选项 1:

你可以设置UpdateSourceTrigger of your textbox (on your update form) to Explicte, 并且仅在单击 Save 时调用 UpdateSource method

选项2:

你也可以设置Listview的每一列的BindingMode to OneTime,而update/refresh是Save之后的DataContext。 (即通过将 View 的 DataContext 设置为 null 然后再将其设置回去。)