【发布时间】:2011-09-05 16:57:49
【问题描述】:
我的 TreeViewItem.Items 数据模板包含 2 个文本框。当我在第一个文本框中按 Tab 键时,焦点转到第二个文本框。当我在第二个文本框上按 Tab 键时,我想将焦点放在下一个 TreeViewItem 子项上的第一个文本框上,如果 TreeViewItem 没有下一个子项,则焦点在下一个 TreeViewItem 上的第一个子项上。该怎么做?
<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>
【问题讨论】:
标签: wpf treeview tabs navigation