我如何否决/更改然后重置绑定?

时间:2014-03-14 09:48:32

标签: wpf binding

我有一个宽度和宽度的画布。高度是数据绑定,例如宽度:
Width="{Binding DrawingSize.Width, NotifyOnTargetUpdated=True}"
当我将代码中某处的Canvas&W的宽度设置为另一个值时,Binding将丢失 有人可以解释为什么会这样或MSDN解释它吗?

1 个答案:

答案 0 :(得分:1)

MSDN在Dependency Property Value Precedence

中解释了这一点
  

动态资源和绑定优先于它们所在的位置   设置,但值被推迟。这样做的一个后果就是如果你   设置动态资源或绑定到本地值,任何更改   本地值完全替换动态资源或绑定。

您可以使用SetCurrentValue更改当前值,而不会覆盖任何内容。但是,即使有这种方法的有效用法,我个人也不会推荐它。您可能遇到其他问题,例如“谁设置此值,这不是我预期的那个”,或者“绑定已经过早改变,我失去了当前值”。请考虑使用相同MSDN页面中描述的强制机制。