WPF:在列表框中停止或撤消选择更改

And*_*erd 6 data-binding wpf listbox

想象一下:您有一个Master-Child窗口,其中包含一个项目列表(主窗口)和一组控件,您可以在其中编辑当前选定的项目(子窗口).子窗口具有"应用"和"取消"按钮.

用户开始编辑值.然后他按下"应用"按钮之前更改选择.

您的应用程序显示消息"将更改应用于当前项目?",按钮为"是","否"和"取消".如果用户按下"取消",则尝试更改当前选择将失败.

"CurrentSelection"项目是数据绑定.

我以为我可以在CurrentSelection房产的"二传手"部分处理这件事.如果用户选择"取消",我只是按CurrentSelection原样保留该项目,并触发PropertyChanged通知事件以告知表单更新回旧的所选项目.控件忽略此通知事件.(这是有道理的,控制说"我知道当前的选择已经改变了.我只是改变了它!")

任何想法如何解决这一问题?总之,控件尝试更改边界SelectedItem,我想告诉它"不,你现在不能改变这个选定的项目".

Tra*_*ife 3

要按照 Kent Boogaart 指出的那样操作,请参阅此回复。

如何阻止 WPF 绑定忽略它引起的 PropertyChanged 事件?