У меня есть представление WPF с двумя текстовыми полями. Я хотел бы автоматически перемещать фокус вперед от первого текстового поля ко второму, когда пользователь нажимает стрелку вниз на клавиатуре точно так же, как Tab.
Кажется, что я должен быть в состоянии сделать это на 100% декларативно, но по некоторым причинам команды, которые я думал, будут делать это, похоже, ничего не делают. Вот моя первая попытка, которая не работает:
<StackPanel>
<TextBox Text="Test">
<TextBox.InputBindings>
<!-- I realize ComponentCommands.MoveFocusDown doesn't work...
This is just an example of what I've tried and the type
of answer I'm looking for -->
<KeyBinding Key="Down" Command="ComponentCommands.MoveFocusDown" />
</TextBox.InputBindings>
</TextBox>
<TextBox></TextBox>
</StackPanel>
У кого-нибудь есть опыт с этим? Похоже, я должен иметь возможность использовать либо InputBindings, либо EventTrigger для этого.
Я использую MVVM, и это проблема View. Я мог бы просто добавить немного кода назад (это проблема с точки зрения просмотра, это разумно), но мне просто кажется, что я что-то упустил.