3
我的TreeViewItem.Items数据模板包含2个文本框。当我在第一个文本框中按下Tab键时,焦点会进入第二个文本框。我想当我按下第二个文本框上的Tab - 将焦点放在下一个TreeViewItem子项目上的第一个文本框中,如果有TreeViewItem没有下一个子项目,则焦点将在下一个TreeViewItem的第一个子项目上进行。怎么做?WPF TreeView中的键盘导航
<TreeView Name="resultsTv"
ItemTemplate="{StaticResource excerciseResultDataTemplate}"
KeyboardNavigation.TabNavigation="Contained">
<TreeView.ItemContainerStyle>
<Style>
<Setter Property="TreeViewItem.IsExpanded" Value="True"/>
<Setter Property="KeyboardNavigation.TabNavigation" Value="Contained"></Setter>
</Style>
</TreeView.ItemContainerStyle>
</TreeView>
<HierarchicalDataTemplate x:Key="excerciseResultDataTemplate" ItemTemplate="{StaticResource setDataTemplate}" ItemsSource="{Binding Sets}">
<StackPanel Orientation="Horizontal" KeyboardNavigation.TabNavigation="Continue">
<Label Content="{Binding Name}"></Label>
</StackPanel>
</HierarchicalDataTemplate>
<DataTemplate x:Key="setDataTemplate">
<StackPanel Orientation="Horizontal" KeyboardNavigation.TabNavigation="Continue">
<TextBox Width="50" Text="{Binding Weight}"/>
<TextBox Width="50" Text="{Binding Repeats"/>
</StackPanel>
</DataTemplate>