У меня есть ItemsControl, который использует DataTemplate. DataTemplate содержит TextBox, который может получить клавиатурный фокус. Я должен смочь переместить клавиатурный фокус из в настоящее время фокусируемого TextBox в DataTemplate в следующий TextBox, как будто клавиша Tab была нажата. Я заметил, что существует UIElement. MoveFocus () метод, но это вызывает вопрос, относительно которого UIElement должен использоваться для вызова метода. Это - вероятно, причина, почему я не заставил этот метод работать на меня... Любая справка действительно ценилась бы!
Спасибо,
Andrew
У вас должна быть возможность вызывать метод MoveFocus в вашем окне (или странице, в зависимости от вашего контейнера верхнего уровня).
this.MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));
Это скажет WPF переместить фокус на следующий элемент управления, либо используя свойства TabIndex элементов управления, либо просто перемещаясь вперед и назад, чтобы найти следующий логический элемент управления.
Невозможность прямого вызова MoveFocus в ItemsControl (дайте ему имя и замените «this» на это имя в приведенном выше коде).