J'ai une zone de liste qui a un datatemplate qui contient plusieurs zones de texte. Je souhaite que l'utilisateur puisse passer d'un onglet à l'autre dans toutes les zones de texte, puis aux zones de texte de l'élément de liste suivant sans avoir à utiliser CTRL + TAB.WPF: Balise ListBox itemtemplate Navigation dans les éléments
Certains XAML:
<DataTemplate x:Key="UsersDataTemplate">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal" Grid.Column="0" Grid.Row="0">
<Label Content="Full Name" />
<TextBox Text="{Binding Path=FullName}" />
</StackPanel>
<StackPanel Orientation="Horizontal" Grid.Row="1" Grid.Column="0">
<Label Content="Address" />
<TextBox Text="{Binding Path=Address}" />
</StackPanel>
<StackPanel Orientation="Horizontal" Grid.Row="1" Grid.Column="1">
<Label Content="City" />
<TextBox Text="{Binding Path=City}" />
</StackPanel>
<StackPanel Orientation="Horizontal" Grid.Row="2" Grid.Column="0">
<Label Content="State" />
<TextBox Text="{Binding Path=State}" />
</StackPanel>
<StackPanel Orientation="Horizontal" Grid.Row="2" Grid.Column="1">
<Label Content="Zip" />
<TextBox Text="{Binding Path=Zip}" />
</StackPanel>
</Grid>
</DataTemplate>
<ListBox ItemTemplate="{DynamicResource UsersDataTemplate}"
ItemsSource="{Binding ElementName=MyUserControl, Path=Users}"
Width="914"
Margin="2,2,2,2" />
L'idée est que l'utilisateur peut être présenté avec n'importe où de 1 à 10 utilisateurs dans cette zone de liste et ils veulent pouvoir onglet dans la zone de liste, édition/noms de mise à jour & adresses et continuer à tabuler à travers les 10 utilisateurs. Le problème que j'ai est que lorsque l'utilisateur arrive à la dernière zone de texte (zip) et à l'onglet hits, focus quitte complètement la zone de liste.
Je sais que cela fonctionne avec CTRL + TAB mais cela est inacceptable pour l'expérience des utilisateurs. Existe-t-il un moyen de rendre l'onglet zone de liste à travers ses éléments avec la touche TAB au lieu de la touche CTRL + TAB?
J'ai essayé d'utiliser des variantes de KeyboardNavigation.TabNavigation, .ControlNavigation, etc. sans aucune chance, bien que je puisse faire quelque chose de mal.
Des pensées?