У меня есть настраиваемое свойство, которое отлично работает, кроме случаев, когда оно связано с объектом.
Причина в том, что после выполнения следующего кода:
base.SetValue(ValueProperty, value);
... тогда мой контроль больше не связан . Я знаю это, потому что звоню:
base.GetBindingExpression(ValueProperty);
... отлично возвращает объект привязки - ДО Я вызываю 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);
}
}
Как видите, это простой шаблонный образец кода Microsoft.
РЕДАКТИРОВАТЬ 2: Вот код для привязки ...
// Apparently, not showing this line of code here has some people confused...
this.DataContext = new SomeClassWithAPropertyCalledNumericValue();
<my:NumericTextBox Value="{Binding NumericValue}" />
Опять ... просто.