List元素WPF之间的选项卡

Car*_* G. 25 wpf xaml

我有一个列表框,其中每个项目都使用文本框表示.问题是我希望能够在移动到xaml窗口中的下一个元素之前在列表框中的所有项之间进行选项卡.

当前(和正常的WPF行为)是当我进入列表框时,第一个元素被突出显示,如果我再次选中,则焦点移动到该项目内的文本框中.如果我再次选中,焦点将移动到窗口中的下一个元素(不通过ListBox中的任何其他项).

我想要的行为如下:当我进入列表框时,第一个文本框自动获得焦点(不突出显示整个项目)*.如果我再次选中,则列表框中的下一个文本框将获得焦点.当我在列表框的最后一个文本框中选中时,焦点移动到下一个控件.

*我已经如何做到这一点,我只是在这里发布,以解释完整的过程.

我一直在寻找解决方案而且我一直找不到东西.

小智 68

这可以通过设置以下两个属性在xaml中完成.

    <Style TargetType="ListBox" >
        <Setter Property="KeyboardNavigation.TabNavigation" Value="Continue" />
    </Style>

    <Style TargetType="ListBoxItem">
        <Setter Property="IsTabStop" Value="False" />
    </Style>
Run Code Online (Sandbox Code Playgroud)

有关完整说明,请参阅Derek Wilson的博客文章.

  • 其中一个'WTF-would-I-do-without-StackOverflow'时刻.谢了哥们! (4认同)
  • 这应该是答案. (3认同)