In un'applicazione WPF, ho una finestra con molti campi. Quando l'utente utilizza il tasto TAB dopo aver riempito ciascun campo, Windows capisce che passa a quello successivo. Questo è un comportamento abbastanza noto.Come si simula un tasto Tab quando si preme Return in un'applicazione WPF?
Ora quello che voglio, è simulare il tasto TAB, quando in realtà viene colpito il RITORNO. Così nel mio WPF XAML ho aggiunto implica KeyDown="userPressEnter"
E nel codice dietro di esso:
private void userPressEnter(object sender, KeyEventArgs e)
{
if (e.Key == Key.Return)
{
e.Key = Key.Tab // THIS IS NOT WORKING
}
}
Ora, ovviamente questo non sta funzionando. Ma quello che non so è, come posso fare questo lavoro?
EDIT 1 ==> TROVATO UNA SOLUZIONE
ho trovato qualcosa che mi ha aiutato =)
private void userPressEnter(object sender, KeyEventArgs e)
{
if (e.Key == Key.Return)
{
TraversalRequest request = new TraversalRequest(FocusNavigationDirection.Next);
MoveFocus(request);
}
}
In questo modo l'attenzione si sposta sul prossimo si può find :)
Con scheda Simula, si intende spostare il cursore sul campo successivo nella finestra? – Tudor
Sì, spostalo sull'handler successivo, in modo che possa essere un campo o un pulsante. Quindi simula lo stesso comportamento come se l'utente avrebbe colpito TAB. Ecco perché cerco semplicemente di dare al sistema l'input TAB, quando infatti viene premuto RETURN. – Dante1986
Problema della soluzione: è necessario aggiungerlo a ogni singolo controllo, altrimenti MoveFocus non selezionerà il campo successivo corretto. – Sam