WPF当手动修改单向绑定属性时会发生什么

时间:2013-07-11 02:13:49

标签: wpf xaml binding

我只是好奇。例如,如果自定义用户控件的宽度绑定到某个其他usercontrol的实际宽度,但在某些事件期间手动更改usercontrol中的宽度。该物业会不同步吗?绑定不能正常工作吗?或者,在下一次源属性更改之前,该属性是否会不同步?

2 个答案:

答案 0 :(得分:1)

需要进一步区分。第一:它有什么样的约束力?如果你有OneWay绑定,那么当目标被修改时你就会失去同步。 TwoWay或OneWayToSource将导致更新源(反馈)

在OneWay更改的情况下,该值不会远程绑定,因为@goose注意到当源将触发PropertyChanged事件时,目标目标将再次重新生成。

如果要删除绑定,请使用要清除的DependencyProperty或BindingExpression.ClearAllBindings调用BindingExpression.ClearBinding。

答案 1 :(得分:0)

修改单向绑定属性后,绑定将无法正常工作。即使之后使用set方法和NotifyPropertyChanged正确更改属性,宽度也将保持不变。