Двусторонняя привязка данных: при обновлении текстового поля не обновляется привязанное свойство - PullRequest
0 голосов
/ 08 марта 2012

Я привязываю данные к текстовому полю UserControl к свойству следующим образом.

<TextBox Name="txtData" Text="{Binding MyData, Mode=TwoWay}"/>

Но когда я нажимаю кнопку «Отправить» на странице, на которой размещен пользовательский контроль, после ввода некоторого текста в txtData текстовое поле usercontrol, userControl.MyData возвращает null.Что можно сделать, чтобы присвоить значение txtData.text свойству, отличному от события TextChanged?

1 Ответ

1 голос
/ 08 марта 2012

Из ваших комментариев вы хотите обновить userControl.MyData при изменении TextBox.Text.

С точки зрения привязки TextBox.Text является целью, а MyData является источником, так что строго говоря, это привязка OnWayToSource (к источнику => к MyData) - поэтому не нужно реализовывать INotifyPropertyChanged , Но это не проблема.

То, как в данный момент записывается привязка, свойство MyData ожидает найти в DataContext TextBox - так ли это? Вы можете исправить контекст данных или использовать другой источник привязки, например, ElementName или RelativeSource - сложно сказать, не видя больше xaml.

Вы можете также рассмотреть возможность установки UpdateSourceTrigger=PropertyChanged для привязки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...