【问题标题】:Silverlight: Setting property directly removes data binding?Silverlight:设置属性直接删除数据绑定?
【发布时间】:2011-05-07 00:27:28
【问题描述】:

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

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

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

【问题讨论】:

    标签: silverlight data-binding propertychanged


    【解决方案1】:

    对我来说似乎很正常。

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

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

    【讨论】:

    • 你说得对,它确实有道理。我以前从未想过。我在试图弄清楚为什么我的绑定不起作用时遇到了一些严重的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-27
    • 2012-06-22
    相关资源
    最近更新 更多