WPF数据绑定-处理用户取消



所以我有一个大量使用数据绑定的应用程序。该应用程序的一个功能是弹出窗口,用户可以管理一些记录。他们从ListBox中选择一条记录,然后使用窗体编辑该记录的对象实例的属性。

用户通常习惯于在表单末尾选择"保存"或"取消"。"保存"提交更改,"取消"放弃更改。

但是,通过双向数据绑定,对象会随着字段值的变化而实时更新。

是否有一种"最佳实践"方法可以通过WPF中的数据绑定来处理提交/取消行为?我曾想过克隆正在编辑的对象,以便在该克隆上发生更改,然后保存将更改应用于原始记录,但我觉得这可能是微软已经内置的东西,我只是不知道如何正确使用它。

WPF提供BindingGroup来处理您遇到的情况。BindingGroup允许您同时处理多个值的更改。您可以根据同时验证所有更改的结果提交或取消更改,而不仅仅是单独验证每个更改。为了使编辑事务工作,BindingGroup中的源应该实现IEditableObject接口。

最新更新