这很乏味且有问题。
我正在尝试直接从另一个控件进行键盘导航(向下箭头)到listview.item。 正如一些曾经处理过这个问题的人已经预料到的那样,整个listview控件首先获得焦点,然后再按一个向下箭头键选择该项。
有一些解决方案可以解决这个问题,但是我必须将焦点重新带回另一个带箭头向上键控制的控件,这个控件还没有明确的解决方案。
此问题的最近方法发布在此处:http://cytivrat.blogspot.com/2011/05/selecting-first-item-in-wpf-listview.html
但是这个并不能解决击键行为的不同。
我期望更简单和干净的解决方案,就像将一个属性设置为true / false一样。
答案 0 :(得分:-1)
当您尝试使用导航键时,键盘似乎没有聚焦。我只是用gridview处理这个,但是this answer解决了你需要做的所有问题我想用Dispatcher设置焦点。在我的情况下,网格正在被聚焦,但我无法使用箭头键来浏览行。
Dispatcher.BeginInvoke(
DispatcherPriority.ContextIdle,
new Action(delegate()
{
ItemsFlowListBox.Focus();
ItemsFlowListBox.ScrollIntoView(ItemsFlowListBox.SelectedItem);
}));