WPF工具栏在按Tab键时无法将焦点传递给下一个控件

14

我创建了一个简单的WPF应用程序,其中包含一个文本框和一个工具栏,其中有两个按钮。

当我点击文本框并按下Tab键时,输入焦点会移动到第一个工具栏按钮。再次按下Tab键会将输入移动到下一个选项卡按钮。到目前为止,一切正常。但是再次按下Tab键会将输入焦点移回到第一个工具栏按钮,而不是应该移动到文本框。

因此,一旦工具栏接收到输入焦点,它就会停留在那里,除非使用鼠标,否则无法移动焦点。

为什么?我该如何解决这个问题?

<Window
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    x:Class="WpfApplication1.MainWindow"
    x:Name="Window"
    Title="MainWindow"
    Width="640" Height="480">

    <StackPanel x:Name="LayoutRoot">
        <ToolBar VerticalAlignment="Top">
            <Button Content="Test1" />
            <Button Content="Test2" />
        </ToolBar>
        <TextBox />
    </StackPanel>
</Window>
1个回答

21
解决方法很简单,只需在您的工具栏中添加KeyboardNavigation.TabNavigation="Continue"即可。然后焦点会再次传递到文本框中。

3
谢谢。我认为这应该是默认的行为。你知道为什么不是吗? - Pete
1
不好意思,我也会期望那样的行为。 - Gimno
但对我来说没有用。还有其他人遇到同样的问题并解决了吗? - Martini Bianco
@MartiniBianco我不得不使用“Local”而不是“Continue”,以使其正常工作 - Sebastian Negraszus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接