У меня проблема с обновлением значения свойства из кода, который привязан к текстовому полю (текстовое поле не отображает новое значение).
Обычно он работал без проблем, но в этом случае исходный класс находится в отдельной сборке (не знаю, имеет ли это какое-то значение).
- Если я наберу текстовое поле, значение будет обновлено в коде
- При изменении значения свойства непосредственно в текстовом поле кода не отображается новое значение.
- После изменения значения в текстовом поле еще раз ранее установленное значение (в коде) перезаписывается (поэтому привязка все еще работает).
Кроме того, я проверил, происходит ли событие PropertyChanged и происходит ли оно после каждого изменения.
Есть предположения, почему это не работает? Ниже соответствующий класс привязки и исходного кода.
TextBox Text = "{Binding Path = Description, Mode = TwoWay}"
[DataContract]
public class Source : INotifyPropertyChanged
{
private String _Description;
[DataMember]
public String Description
{
get { return _Description; }
set
{
if (_Description == value)
return;
_Description = value;
OnPropertyChanged("Description");
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
{
PropertyChangedEventHandler handler = this.PropertyChanged;
if (handler != null)
{
var e = new PropertyChangedEventArgs(propertyName);
handler(this, e);
}
}
}
Я исправил проблему, очевидно, он не был связан с другой сборкой. У меня ошибка установки значения свойства.