我有一个完美的自定义属性,除非它绑定到一个对象.
原因是一旦执行以下代码:
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)
是你在找什么
摘要:
设置依赖项属性的值而不更改其值源.
| 归档时间: |
|
| 查看次数: |
1713 次 |
| 最近记录: |