Silverlight:设置属性直接删除数据绑定?

时间:2011-05-07 00:27:29

标签: silverlight data-binding propertychanged

我正在修改一个Silverlight项目,该项目大量使用后面的代码来设置属性等。这是几年前创建的,并且或多或少地从WinForms项目移植过来。

我注意到的问题是,当我为属性设置数据绑定时,在这种情况下为Visibility,如果该属性直接在后面的代码中设置,则删除数据绑定。我甚至在PropertyChanged事件上设置了断点,以验证是否是这种情况。

我做了很多WPF开发,从未注意到这一点。这是正常的,我错过了它或者是不是很正确吗?

1 个答案:

答案 0 :(得分:7)

对我来说似乎很正常。

绑定背后的概念是目标属性上的值绑定到源对象上的属性。绑定目标属性时将始终反映源属性的值。只要将自己的值分配给目标属性,目标属性就不再反映源的值,就会破坏两者之间的绑定。因此,设置自己的值将删除绑定。

但是,如果将绑定的Mode设置为TwoWay,则Silverlight只会将新值分配给源对象上的属性并保持绑定,因为目标属性仍然反映了该值的值。来源财产。