Делаю TextBox:
XAML:
<TextBox Text="{Binding FilterValue}"/>
C#:
public string FilterValue { get; set; } = "";
Когда я меняю FilterValue в коде, то на форме он тоже меняется, но когда ввожу текст в форму, то FilterValue в коде не обновляется, в чем дело?
P.S. Использую Fody
Класс, к свойству которого осуществляется привязка, должен реализовывать интерфейс INorifyPropertyChanged.
public class Test : INotifyPropertyChanged
{
private filterValue;
public string FilterValue
{
get
{
return filterValue;
}
set
{
filterValue = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("FilterValue"));
}
}
public event PropertyChangedEventHandler PropertyChanged;
}
Если класс, к свойству которого осуществляется привязка, не реализует этот интерфейс, то все привязки будут осуществлены как OneTime. Кроме того, настоятельно рекомендую полностью расписывать привязки, указывая режим явно. В вашем случая я бы использовал такой binding, {Binding Path=FilterValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}
, более продробно написано тут
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Как правильно перевести в массив байт COM-объект и/или объекты, к классам которым нельзя получить доступ и поставить им атрибут Serializable (например,...