2016-06-11 40 views
0

Ich habe ein LostFocus-Ereignis in meinem Textfeld, aber normalerweise wird beim Drücken der Tab-Taste das "LostFocus" -Ereignis ausgelöst, und das nächste Steuerelement erhält den Fokus. Ich möchte mich auf das Textfeld konzentrieren (vorausgesetzt, ein Eingabefehler ist aufgetreten), anstatt den Fokus auf das nächste Steuerelement zu verschieben.C#: Textbox LostFocus Ereignisbehandlung

Ich habe versucht, die e-Ereignis zu behandeln, aber nichts geändert.

private void phone(object sender, RoutedEventArgs e) 
    { 
     TextBox text = (sender as TextBox); 
     if (text.Text == "") return; 
     else if (text.Text.Length > 10 || text.Text.Length < 10) 
     { 
      MessageBox.Show("Valid Input"); 
      select(sender); 
     } 
    } 

das ist das Ereignis i zu verwenden bin versucht, aber wie gesagt, verschiebt sich der Fokus auf das nächste Steuerelement (was falsch ist)

Antwort

0

Es ist eine logische Fokusänderung und kein Tastaturfokus ändern .Siehe UIElement.LostFocus Event für weitere Informationen.

Sie versuchen sollten, wie unten Fokus auf Ihre Texteinstellung (txt1 vorausgesetzt, ist die ID Ihrer Textbox)

txt1.Focusable = true; 
Keyboard.Focus(txt1); 
+0

e ist ein Ereignis, und die IsFocused-Eigenschaft für TextBox wird nur erhalten –