.net - WPF 工具栏不会将焦点传递给 Tab 键上的下一个控件

标签 .net wpf focus toolbar

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

当我单击文本框并按下 Tab 键时,输入焦点将移至第一个工具栏按钮。再次按 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>

最佳答案

解决方法很简单,你只需要添加 KeyboardNavigation.TabNavigation="Continue"到您的工具栏。然后焦点再次传递回 TextBox。

关于.net - WPF 工具栏不会将焦点传递给 Tab 键上的下一个控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5323889/

相关文章:

java - JDialog 上的 .setModal() 方法

javascript - Internet Explorer 焦点在 addEventListener 触发焦点之前?

c# - DataGridView 和 List<> 与 BindingSource 的数据绑定(bind)

wpf - 如何在 WPF 中将组合框的样式更改为标签或超链接?

android - 检测是否所有 EditText 都没有焦点

c# - 使用触摸滑动拖动打开 WPF 扩展器

c# - 清除文本框时属性的值不会更改

c# - 定义字典之间的区别

c# - 为什么我需要创建一个返回 DateTime.Now 而不是直接使用 DateTime.Now 的 DateTime 服务?

c# - 是否可以在同一位置添加多个面板