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

Tel*_*ian 3 data-binding silverlight propertychanged

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

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

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

Ant*_*nes 7

对我来说似乎很正常.

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

但是,如果Mode将绑定设置为,TwoWay则Silverlight只需将新值分配给源对象上的属性并保持绑定,因为目标属性仍反映源属性的值.