Порядок перехода по вкладке с помощью Control.Focus () при нажатии клавиши Tab (.net 3.5) - PullRequest
0 голосов
/ 05 мая 2011

У меня есть три текстовых поля:

<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?

1 Ответ

1 голос
/ 05 мая 2011

После некоторого тестирования я обнаружил, что вы в настоящее время ловите неправильное событие. Изменение первой строки вашего кода XAML на следующий

<TextBox Name="textBox1" LostKeyboardFocus="textBox1_LostKeyboardFocus" />

и реализации следующего метода

private void textBox1_LostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e) {

    if (textBox1.Text.Equals("some value")) {
        Keyboard.Focus(textBox3);
    }
}

Фокус в окне правильно установлен на нужный элемент управления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...