Обновления привязки Silverlight MVVM срабатывают в нежелательном порядке

Сценарий : в проекте Silverlight 4 MVVM у нас есть элемент управления ListBox , содержащий элементы, выбранный элемент двусторонне привязан к соответствующему свойству в ViewModel. Другой элемент управления (например, я сократил его до одного TextBox ) - это данные, привязанные к содержимому выбранного элемента. Значение должно обновляться при выходе / потере фокуса.

Проблема : Когда значение в TextBox изменяется, и мы оставляем это TextBox , нажимая клавишу Tab, все работает как нужно - значение обновляется. Однако, если пользователь щелкает по другому элементу в ListBox , то средство установки SelectedItem запускается до того, как запускается средство установки содержимого TextBox , не оставляя возможности обработать ввод пользователя.

Screen

Вы можете видеть в отладчике при добавлении точек останова в средства задания свойств, что сначала применяется новый выбор ListView , до обработки обновления TextBox .

Желаемое поведение. : нам нужно знать, что текущий выбранный элемент был изменен до того, как пользователь выбрал другой элемент. Это' Я представляю самостоятельно разработанное решение , которое, вероятно, будет принятым. Я все еще хочу побудить вас комментировать и давать советы. Спасибо.

5
задан Community 23 May 2017 в 12:30
поделиться