В приложении WPF у меня есть окно с большим количеством полей.
Когда пользователь использует клавишу TAB после заполнения каждого поля, Windows понимает, что оно переходит к следующему. Это довольно привычное поведение.
Теперь я хочу, чтобы он имитировал клавишу TAB, когда на самом деле ударил RETURN.
Таким образом, в моем WPF xaml я добавил KeyDown="userPressEnter"
И в коде за ним:
private void userPressEnter(object sender, KeyEventArgs e)
{
if (e.Key == Key.Return)
{
e.Key = Key.Tab // THIS IS NOT WORKING
}
}
Теперь, очевидно, это не работает. Но то, что я не знаю, как я могу заставить эту работу?
РЕДАКТИРОВАТЬ 1 ==> НАЙТИ РЕШЕНИЕ
Я нашел то, что помогло мне =)
private void userPressEnter(object sender, KeyEventArgs e)
{
if (e.Key == Key.Return)
{
TraversalRequest request = new TraversalRequest(FocusNavigationDirection.Next);
MoveFocus(request);
}
}
Таким образом Фокус перемещается на следующее, которое он может найти:)