Navigating Between Input Controls with the Keyboard

UnoFeatures: Toolkit (add to <UnoFeatures> in your .csproj).

Problem

There is no easy way to denote the next control to receive focus when the Enter key is pressed while entering input in a control such as a TextBox or PasswordBox.

Solution

The InputExtensions class provides a set of attached properties that can be used to manage focus between input controls using the Enter key.

<TextBox PlaceholderText="Username"
         utu:InputExtensions.AutoFocusNextElement="{Binding ElementName=RegistrationEmail}" />

<TextBox x:Name="RegistrationEmail"
         PlaceholderText="Email"
         utu:InputExtensions.AutoFocusNextElement="{Binding ElementName=RegistrationPassword}" />

<PasswordBox x:Name="RegistrationPassword"
             PlaceholderText="Password" />

The above code has the following effect:

InputExtensions Animation

Source Code

Documentation