У меня есть несколько пользовательских контролов, загруженных в tabcontrol через MVVM в WPF.
В XAML для usercontrol я устанавливаю фокус на текстовое поле с помощью FocusManager, однако это работает только при создании первого экземпляра usercontrol.
Просто для проверки я добавил загруженный обработчик событий в usercontrol - он вызывается только в первом экземпляре.
Я использую шаблоны данных для пользовательских элементов управления следующим образом:
<DataTemplate DataType="{x:Type local:UserTypeViewModel}">
<local:UserTypeView />
</DataTemplate>
Текстовое поле сфокусировано следующим образом:
FocusManager.FocusedElement="{Binding ElementName=txtName}"
Кроме того, я использую глобальный обработчик событий (для события GotFocus в текстовом поле), который выделяет весь текст с помощью диспетчера.
Если у кого-нибудь есть какие-либо советы о том, как добиться фокуса с каждым контролем пользователя, я был бы очень признателен.
Спасибо, Бен.