2016-04-26 2 views
0

Я связал выбранный элемент ListView с моим свойством viewmodel SelectedLayout, и я изменил SelectedLayout из кода позади. Выбранный элемент меняется правильно, но фокус не подходит к выбранному элементу. Это ясно, когда я нажимаю кнопку ввода. Фокус находится на кнопке, где она была перед установкой SelectedLayout. Как я могу получить Фокус для выбранного элемента в Windows 10 UWP?Selected List view item not focus focus Win 10 UWP

ответ

3

Простое изменение значения связанного свойства автоматически не изменяет фокус на соответствующий элемент. Это делается по дизайну, так как во многих случаях вам не нужно менять фокус, просто чтобы обновить значение элемента управления. Итак, что вам нужно сделать, это реализовать логику изменения фокуса в вашем MVVM-коде.

Для этого хорошей практикой было бы использовать Attached Property, как описано здесь: Set focus on textbox in WPF from view model (C#). Таким образом, вы можете привязать прикрепленное свойство IsFocused ваших элементов управления к ViewModel, а затем реализовать любую логику фокусировки в ViewModel.