У меня есть ListBox с TextBox над ним.Я хотел бы использовать клавиши со стрелками для перехода от ListBox к TextBox.
Предполагается, что если выбран первый элемент в ListBox и пользователь нажимает клавишу вверх, TextBox получит фокус.
У меня почти все работает, но проблема в том, что когда пользователь нажимает клавишу вверх, SelectedItem изменяется до , когда возникает событие KeyUp.Это означает, что переход к TextBox происходит, когда пользователь выбрал элемент second в ListBox.
Как я могу перехватить событие keyup для первого элемента в ListBox?
<StackPanel>
<TextBox Name="TextBox1"></TextBox>
<ListBox Name="ListBox1" KeyUp="ListBox_KeyUp">
<ListBoxItem>a</ListBoxItem>
<ListBoxItem>b</ListBoxItem>
<ListBoxItem>c</ListBoxItem>
</ListBox>
</StackPanel>
private void ListBox_KeyUp(object sender, KeyEventArgs e)
{
if (e.Key == Key.Up)
{
if (this.ListBox1.SelectedIndex == 0)
this.TextBox1.Focus();
}
}