0

任何人都可以建议解决方案如何使用弹出的列表框中的向下和向上键进行导航。像在 keyup 和 keydown 事件上设置选定项目这样的解决方案对我不起作用。我应该做一些更特别的事情然后在这种情况下设置选定的项目吗?

4

1 回答 1

1

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

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

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

因为listbox.Focus();只会给它焦点但不会更改选择项(这将使用户点击“向下”按钮两次以便这样做)设置ListBoxSelectedIndex一个。

希望这可以帮助

于 2013-10-17T12:21:11.053 回答