È possibile gestire i/KeyUp eventi KeyDown sulle vostre caselle di testo (a seconda se si vuole andare a quello successivo all'inizio o alla fine della pressione di un tasto).
Esempio XAML:
<TextBox KeyUp="TextBox_KeyUp" />
Codice Dietro:
private void TextBox_KeyUp(object sender, KeyRoutedEventArgs e)
{
TextBox tbSender = (TextBox)sender;
if (e.Key == Windows.System.VirtualKey.Enter)
{
// Get the next TextBox and focus it.
DependencyObject nextSibling = GetNextSiblingInVisualTree(tbSender);
if (nextSibling is Control)
{
// Transfer "keyboard" focus to the target element.
((Control)nextSibling).Focus(FocusState.Keyboard);
}
}
}
codice di esempio completo compreso il codice per il metodo di supporto GetNextSiblingInVisualTree(): https://github.com/finnigantime/Samples/tree/master/examples/Win8Xaml/TextBox_EnterMovesFocusToNextControl
Nota che la chiamata di messa a fuoco() con FocusState.Keyboard mostra il punto di riferimento tratteggiato attorno agli elementi che hanno un retto nel loro modello di controllo (es. g. Pulsante). Chiamare Focus() con FocusState.Pointer non mostra il focus di messa a fuoco (si sta usando il touch/mouse, in modo da sapere con quale elemento si sta interagendo).
fonte
2013-07-14 19:33:27
Grazie Patrick. Funziona a meraviglia. – Sun