【发布时间】:2013-07-11 02:13:48
【问题描述】:
我只是好奇。例如,如果自定义用户控件的宽度绑定到某个其他用户控件的实际宽度,但在某些事件期间手动更改了用户控件中的宽度。属性会不同步吗?绑定会不会正常工作?还是在下次源属性更改之前,该属性会不同步?
【问题讨论】:
我只是好奇。例如,如果自定义用户控件的宽度绑定到某个其他用户控件的实际宽度,但在某些事件期间手动更改了用户控件中的宽度。属性会不同步吗?绑定会不会正常工作?还是在下次源属性更改之前,该属性会不同步?
【问题讨论】:
需要更多的差异化。第一:是什么样的绑定?如果您有 OneWay 绑定,那么当目标被修改时,您将失去同步。 TwoWay 或 OneWayToSource 将导致源更新(反馈)
在 OneWay 更改值的情况下不会远程绑定,正如 @goose 指出的,当源将触发 PropertyChanged 事件时,目标目标将再次重新同步。
如果您希望删除绑定,请使用您要清除的 DependencyProperty 或 BindingExpression.ClearAllBindings 调用 BindingExpression.ClearBinding。
【讨论】:
当修改单向绑定属性时,绑定将不再正常工作。即使之后使用 set 方法更改了属性并且 NotifyPropertyChanged 正确,宽度也将保持不变。
【讨论】: