listview跳过整个控制焦点,将焦点直接设置为listviewitem

时间:2013-08-21 17:52:19

标签: c# wpf

这很乏味且有问题。

我正在尝试直接从另一个控件进行键盘导航(向下箭头)到listview.item。 正如一些曾经处理过这个问题的人已经预料到的那样,整个listview控件首先获得焦点,然后再按一个向下箭头键选择该项。

有一些解决方案可以解决这个问题,但是我必须将焦点重新带回另一个带箭头向上键控制的控件,这个控件还没有明确的解决方案。

此问题的最近方法发布在此处:http://cytivrat.blogspot.com/2011/05/selecting-first-item-in-wpf-listview.html

但是这个并不能解决击键行为的不同。

我期望更简单和干净的解决方案,就像将一个属性设置为true / false一样。

1 个答案:

答案 0 :(得分:-1)

当您尝试使用导航键时,键盘似乎没有聚焦。我只是用gridview处理这个,但是this answer解决了你需要做的所有问题我想用Dispatcher设置焦点。在我的情况下,网格正在被聚焦,但我无法使用箭头键来浏览行。

  Dispatcher.BeginInvoke(
        DispatcherPriority.ContextIdle,
        new Action(delegate()
        {
            ItemsFlowListBox.Focus();
            ItemsFlowListBox.ScrollIntoView(ItemsFlowListBox.SelectedItem);
        }));