3

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

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

我已经做了很多 WPF 开发,但从未注意到这一点。这是正常的,我错过了还是有些不对劲?

4

1 回答 1

7

对我来说似乎很正常。

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

但是,如果您将Mode绑定设置为, TwoWaySilverlight 只需将新值分配给源对象上的属性并维护绑定,因为目标属性仍反映源属性的值。

于 2011-05-07T11:56:00.463 回答