【问题标题】:Loss of data binding of a dependecy property依赖属性的数据绑定丢失
【发布时间】:2012-02-13 19:21:40
【问题描述】:

我有一个自定义控件,我在其中创建了一个名为 TheObject 的自定义 DependencyProperty,它可以包含一个通用对象。

<comp:MyControl TheObject="{Binding Country}" />

有时,我需要在内部设置TheObject(通过代码,在控件内部)。

我做了这样的事情:

this.TheObject = new Country();

但我意识到它导致了DataBinding 的丢失,并且控件变得无法响应数据更改。 我真正想要的是这个新对象仍然附加到属性的现有DataBinding

【问题讨论】:

    标签: wpf data-binding dependency-properties


    【解决方案1】:

    使用SetCurrentValue:

    此方法由以编程方式设置其自身属性之一的值的组件使用,而不会禁用应用程序对属性的声明使用。 SetCurrentValue 方法会更改属性的有效值,但现有的触发器、数据绑定和样式将继续工作。

    this.SetCurrentValue(TheObjectProperty, new Country());
    

    【讨论】:

    • 谢谢。它工作得很好。我试图使用SetValue 方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-09
    • 1970-01-01
    • 2013-02-10
    • 2013-06-20
    • 2016-01-22
    • 2012-11-08
    相关资源
    最近更新 更多