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

3
我正在修改一个使用代码后台大量设置属性等的Silverlight项目。 这个项目是几年前创建的,或多或少是从WinForms项目移植而来。
我注意到的问题是:当我为属性设置数据绑定(在这种情况下是可见性),如果该属性直接在代码后台中设置,则数据绑定将被删除。 我甚至设置了PropertyChanged事件上的断点以验证这一点。
我已经做了相当多的WPF开发,并没有注意到这一点。 这是正常的吗? 我是否错过了什么?
1个回答

8

我觉得这很正常。

绑定的概念是将目标属性的值与源对象上的属性“绑定”在一起。在绑定期间,目标属性将始终反映源属性的值。一旦你给目标属性分配了自己的值,目标属性就不再反映来自源的值,你已经打破了两者之间的绑定关系。因此设置自己的值会删除绑定。

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


你说得对,这确实有道理。我以前从未想过这个问题。我曾经遇到过一些严重的麻烦,试图弄清楚为什么我的绑定不起作用。 - Telavian

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接