WPF:我可以强制一个窗口重新评估其所有绑定和验证吗?

7

我能强制一个窗口重新评估其所有绑定和验证吗?

由于某种原因,在某些奇怪的情况下,它似乎忽略了INotifyPropertyChanged.PropertyChanged,我正在寻找一种解决方法,直到找到真正的原因。

2个回答

8

很遗憾,我不知道如何强制窗口内的每个绑定重新评估。问题的一部分是大多数绑定并未在窗口上声明,而是在窗口的特定DependencyObject子对象上声明。

您可以使用DependencyObject.InvalidateProperty来使单个绑定无效,但必须逐个属性地执行此操作。如果只有几个对象被绑定,您应该能够使用它来强制重新查询它们的值。

话虽如此,我建议找出根本原因-这可能是长期更好的解决方案。


5

使用String.Empty作为属性名称来触发PropertyChanged。这将导致对象中的所有绑定重新读取其所有绑定。

如果您遇到绑定问题,请不要忘记检查输出窗口中的绑定错误。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接