WPF 工具栏不会将焦点传递给 Tab 键上的下一个控件
我创建了一个简单的 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>
I have created a simple WPF application with a TextBox and a Toolbar containing two buttons.
When I click the textbox and press the tab-key, input focus is moved to the first toolbar button. Pressing tab again moves input to the next tab button. So far, so good. But pressing tab again moves input focus to the first toolbar button, where it should have been moved to the text box.
So once the toolbar receives input focus, it stays there, and you cannot move focus out except using the mouse.
Why? And how can I remedy that?
<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>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
解决方案非常简单,您只需将
KeyboardNavigation.TabNavigation="Continue"
添加到工具栏即可。然后焦点再次传回 TextBox。The solution is quite simple, you just have to add
KeyboardNavigation.TabNavigation="Continue"
to your ToolBar. Then the focus gets passed back to the TextBox again.