У нас есть объект, производный от DependencyObject и реализующий некоторые свойства DependencyProperties.
В основном как-то так:
class Context : DependencyObject {
public static readonly DependencyProperty NameProperty =
DependencyProperty.Register ("Name", typeof (string), typeof (Context), new PropertyMetadata (""));
public string Name {
get {
return (string)this.GetValue (NameProperty);
}
set {
this.SetValue (NameProperty, value);
}
}
}
Это работает, свойство настроено, может быть связано и т. Д. Проблема возникает, когда я связываю TO свойства из WPF, используя привязку TwoWay. Часть TwoWay на самом деле никогда не происходит, WPF никогда не вызывает набор этого свойства. Я установил привязку следующим образом:
<TextBox Text="{Binding Path=Name, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
В этом случае ввод в текстовое поле должен немедленно обновить свойство Name, но это не так. Если я изменю свойство Name на обычное свойство POCO, оно будет работать (хотя, очевидно, с другой стороны TwoWay нет, если я не реализую INotifyPropertyChanged).
Что я здесь не так делаю? Это должно быть действительно простым делом, но это не вызывает у меня головной боли.