这种约束是否破裂?

时间:2012-01-10 21:13:34

标签: wpf dependency-properties

如果我是dp a和dp b,如果我将b绑定到a,比如a是100,则b变为100,如果稍后将b分配给80会破坏绑定吗?所以如果我以后分配一个t0 70 b将不会更新?也许更好的方法是在值改变的方法中改变b,然后下面的例子可以工作吗?

2 个答案:

答案 0 :(得分:4)

如果您希望(暂时,直到a的下一次更改)将b的值设置为70而不破坏绑定,您可以在定义DependencyProperty的DependencyObject上调用SetCurrentValue(bProperty, 70) b。只要依赖属性由公共静态字段支持,如here所述(对于所有WPF组件的依赖属性,它都是真的),这就可以工作。

答案 1 :(得分:3)

是的,它会破坏绑定,因为您要用静态值替换绑定值。

要在更新B时保持绑定,您需要获取属性B上的绑定并更新它的Source。这意味着您实际上将更新属性A.