Uma pergunta muito comum que vejo por aí é como trocar o Enter pelo Tab. Normalmente, deve-se manipular o evento de tecla pressionada, verificar se é um Enter e mudar o foco para o elemento seguinte na lista de tabulação. Em WPF, podemos criar um manipulador para o evento PreviewKeyDown da janela (no WPF, os eventos são propagados por toda a árvore de elementos, assim, os eventos de tecla obrigatoriamente passam pela janela, independente de onde tenham sido gerados), como o seguinte:
private void Window_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.Key ==
Key.Return)
{
FocusNavigationDirection focusDirection = FocusNavigationDirection.Next;
TraversalRequest
request = new TraversalRequest(focusDirection);
UIElement
elementWithFocus = Keyboard.FocusedElement as
UIElement;
if
(elementWithFocus != null)
elementWithFocus.MoveFocus(request);
e.Handled = true;
}
}