从ListView(WPF)中的SelectedItem开始键盘导航

时间:2013-09-03 09:22:51

标签: c# wpf listview navigation keyboard

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

  1. 我在ListBox上听SelectionChanged
  2. 在事件处理程序中我将所选项目带入视图(工作正常)
  3. 当我启动键盘导航时,它从列表的顶部开始,而不是从SelectedItem(这是我不想要的东西)开始。
  4. 现在的问题是:如何从SelectedItem而不是第一个项目开始键盘导航(向上和向下箭头)?

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

    protected void ListSelectionChanged
     ( Object sender
     , SelectionChangedEventArgs args )
     {
      var enumerator = args.AddedItems.GetEnumerator( );
    
      if ( enumerator.MoveNext( ) )
       ( sender as ListView ).ScrollIntoView( enumerator.Current );
     }
    
    提前谢谢!

1 个答案:

答案 0 :(得分:3)

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

item.Focus();