我有三个文本框:
<TextBox Name="textBox1" LostFocus="textBox1_LostFocus" />
<TextBox Name="textBox2" />
<TextBox Name="textBox3" />
有了这个事件:
private void textBox1_LostFocus(object sender, RoutedEventArgs e)
{
if (textBox1.Text.Equals("some value"))
textBox3.Focus();
}
当我按下TAB键并将焦点放在textBox1上时,焦点将转到textBox2,与textBox3.Focus()无关。 我怎么能真正关注textBox3?
答案 0 :(得分:1)
经过一些测试后,我发现你正在抓错事件。将XAML代码的第一行更改为以下
<TextBox Name="textBox1" LostKeyboardFocus="textBox1_LostKeyboardFocus" />
并实施以下方法
private void textBox1_LostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e) {
if (textBox1.Text.Equals("some value")) {
Keyboard.Focus(textBox3);
}
}
窗口中的焦点已正确设置为所需的控件。