我能强制一个窗口重新评估其所有绑定和验证吗?
由于某种原因,在某些奇怪的情况下,它似乎忽略了INotifyPropertyChanged.PropertyChanged,我正在寻找一种解决方法,直到找到真正的原因。
很遗憾,我不知道如何强制窗口内的每个绑定重新评估。问题的一部分是大多数绑定并未在窗口上声明,而是在窗口的特定DependencyObject子对象上声明。
您可以使用DependencyObject.InvalidateProperty来使单个绑定无效,但必须逐个属性地执行此操作。如果只有几个对象被绑定,您应该能够使用它来强制重新查询它们的值。
话虽如此,我建议找出根本原因-这可能是长期更好的解决方案。
使用String.Empty
作为属性名称来触发PropertyChanged
。这将导致对象中的所有绑定重新读取其所有绑定。
如果您遇到绑定问题,请不要忘记检查输出窗口中的绑定错误。