我正在使用WPF ListView,并且我想使用实际上现在可以正常工作的键盘导航。问题如下:


我在ListBox上收听SelectionChanged
在事件处理程序中,我将选定的项目带入视图(工作正常)
当我启动键盘导航时,它从列表的顶部开始,而不是从SelectedItem(这是我不想要的东西)开始。


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

我的事件处理程序如下所示:

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

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


提前谢谢!

最佳答案

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

item.Focus();

08-06 12:56