我创建了一个简单的WPF应用程序,其中包含一个TextBox和一个包含两个按钮的工具栏。
当我单击文本框并按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>
答案 0 :(得分:16)
解决方案非常简单,您只需将KeyboardNavigation.TabNavigation="Continue"
添加到ToolBar即可。然后焦点再次传回TextBox。