2

我正在开发一个 WPF ListView,我想使用现在实际上工作正常的键盘导航。问题如下:

  1. 我在 ListBox 上听 SelectionChanged
  2. 在事件处理程序中,我将所选项目带入视野(效果很好)
  3. 当我启动键盘导航时,它从列表顶部开始,而不是从 SelectedItem (这是我不想要的东西)。

所以现在的问题是:如何从 SelectedItem 而不是第一个 Item 开始键盘导航(向上和向下箭头)?

这是我的事件处理程序的样子:

protected void ListSelectionChanged
 ( Object sender
 , SelectionChangedEventArgs args )
 {
  var enumerator = args.AddedItems.GetEnumerator( );

  if ( enumerator.MoveNext( ) )
   ( sender as ListView ).ScrollIntoView( enumerator.Current );
 }

提前谢谢!

4

1 回答 1

4

我认为@Bolu 正确回答了您的问题。问题与Focus项目有关,与选择无关。当您更改 时SelectedItem,请尝试在之后添加此行:

item.Focus();
于 2013-09-03T09:33:36.023 回答