3
我有一個列表框,上面有一個文本框。我想使用箭頭鍵從ListBox導航到TextBox。如何捕獲ListBox中第一個項目上的keyup事件?
其意圖是,如果ListBox中的第一項被選中,並且用戶鍵入,TextBox將獲得焦點。
我幾乎有這個工作,但問題是,當用戶鍵入,SelectedItem更改之前 KeyUp事件引發。這意味着當用戶在列表框中選擇第二個項目時,文本框的導航就會發生。
如何捕獲ListBox中第一個項目上的keyup事件?
<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();
}
}
有你想過聽KeyD擁有呢? – Lazarus 2011-01-13 23:56:01
@Lazarus:KeyDown沒有提出:) – 2011-01-13 23:56:52