WPF弹出列表框使用键盘进行导航

时间:2013-10-17 12:03:13

标签: wpf listbox

任何人都可以建议解决方案如何使用弹出窗口中的向下和向上键进行导航。 在keyup和keydown事件上设置选定项目的解决方案对我不起作用。 我应该制作更特别的东西,然后在这种情况下只设置所选项目吗?

1 个答案:

答案 0 :(得分:1)

ListBox在聚焦时已经使用键盘实现了选择导航。

您所要做的就是在需要时给予焦点,例如在包含它的窗口中:

private void Window_KeyDown(object sender, KeyEventArgs e)
{
    if (e.Key == Key.Down)
    {
        listbox.SelectedIndex = 0;
        listbox.Focus();
    }
} 

因为listbox.Focus();只会给它焦点但不会更改选择项(这会使用户点击“向下”按钮两次才能这样做)设置ListBox'首先是SelectedIndex

希望这有帮助