Связанный с Silverlight TextBox теряет данные при закрытии браузера


3

Когда я привязываю элемент управления TextBox к строковому свойству объекта, используя двустороннюю привязку, он отлично работает - до тех пор, пока пользователь удаляет элемент управления, прежде чем он закрывает окно браузера/вкладку ,

Но как насчет пользователя, внесшего изменения в содержимое текстового поля, затем закрывает окно, ожидающее сохранения данных?

Хотя можно подключить к событию TextChanged или обработчику Application_Exit() и вручную обновить свойство, вы, по сути, повторно выполняете работу связующего. Тем не менее, это пока единственные решения.

nb. Тот же самый xaml/code в приложении WPF отлично работает (App.OnExit показывает обновленные данные в объекте).

0

Имеет ли класс привязки Silverlight свойство UpdateSourceTrigger? В WPF вы можете сказать, элемент управления, чтобы обновить его связанный источник всякий раз, когда изменяется свойство (а не когда элемент управления теряет фокус), как это:

<TextBox Text="{Binding Path=Foo,UpdateSourceTrigger=PropertyChanged}" /> 
  0

Хорошая попытка, я не могу найти ее документированной, и когда я попробовал, страница не загружалась вообще. Кстати, я протестировал свой оригинальный xaml/code в приложении WPF, и он отлично работает. 22 фев. 092009-02-22 11:59:11


1

Я делаю догадку здесь на основе значительного опыта веб-разработки но очень ограниченный опыт Silverlight.

Вы можете использовать немного Javascript, чтобы подключиться к onunload в HTML, а затем вызвать функцию в вашем коде Silverlight для ее обработки.

  0

Silverlight имеет событие типа разгрузки страницы (app_exit), но для этого все еще требуется ручной поиск управляющих данных. Наверное, лучшая работа вокруг. 22 фев. 092009-02-22 17:00:21


1

Кажется, что это проблема с Silverlight. Он не обновляет связанное свойство в текстовом поле, пока не потеряет фокус.

Одним из способов, которым я должен был воспользоваться (я использовал динамический фильтр), является реализация обработчика событий TextChanged и обновление свойства резервного копирования вручную.

  0

Спасибо за это. Я обновил вопрос соответствующим образом. 22 фев. 092009-02-22 17:03:24