确定导致WPF绑定ValueChanged事件的原因

时间:2009-06-15 23:06:33

标签: wpf binding

看起来只需通过设置DataContext即可触发ValueChanged和SourceUpdated事件。有没有人知道一种方法来判断更改的值是否实际来自某些用户交互?

一个简单的例子是在WPF表单上有一个“保存”按钮,该按钮被禁用,直到用户实际更改数据。由于在设置DataContext时会激活ValueChanged和SourceUpdated事件,因此我不能简单地启用“保存”按钮而不确定实际上导致事件首先触发的内容。

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果不了解有关您的实施的详细信息(您的UI架构等),我只能提供一般性建议。

  1. 如果您有演示模型,请将“保存”按钮的已启用状态绑定到PM上的属性,该属性受PM上其他属性所做的更改的控制。

  2. 如果您的编码直接针对您的代码隐藏,请将“保存”按钮延迟绑定,直到您设置DataContext为止。

  3. 您要记住的一件事是,设置DataContext就像更改未明确设置Source的所有控件的DataBinding。依靠DataContext让您只需指定Path,但您必须考虑该级联行为。