在WPF中,如何更新我的自定义属性绑定的对象?

Tim*_*uri 1 wpf binding

我有一个完美的自定义属性,除非它绑定到一个对象.

原因是一旦执行以下代码:

base.SetValue(ValueProperty, value);
Run Code Online (Sandbox Code Playgroud)

......然后我的控制权不再受约束.我知道这是因为打电话:

base.GetBindingExpression(ValueProperty);
Run Code Online (Sandbox Code Playgroud)

...完美地返回绑定对象 - 直到我调用base.SetValue.所以我的问题是,如何将新的"值"传递给我必须绑定的对象?

编辑:这是代码......

public static readonly DependencyProperty ValueProperty =
    DependencyProperty.Register("Value", typeof(decimal?), typeof(NumericTextBox));

public decimal? Value
{
    get
    {
        return (decimal?)base.GetValue(ValueProperty);
    }
    set
    {
        base.SetValue(ValueProperty, value);
    }
}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,它是简单的样板,"Microsoft示例"代码.

编辑2:这是绑定的代码......

// Apparently, not showing this line of code here has some people confused...
this.DataContext = new SomeClassWithAPropertyCalledNumericValue();

<my:NumericTextBox Value="{Binding NumericValue}" />
Run Code Online (Sandbox Code Playgroud)

再说......简单.

小智 6

我认为

base.SetCurrentValue(ValueProperty, value);
Run Code Online (Sandbox Code Playgroud)

是你在找什么

摘要:
设置依赖项属性的值而不更改其值源.