0
我有一個列表框,其中包含多個文本框的數據模板。我希望用戶能夠選中所有文本框,然後選中下一個列表項的文本框,而無需使用CTRL + TAB。WPF:列表框項目模板標記導航項目
一些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" />
的想法是,用戶可以與任何地方,從這個列表框中1到10個用戶提出,他們希望能夠使用Tab鍵進入列表框中,編輯/更新名稱&解決所有10個用戶的問題並繼續製表。我遇到的問題是,當用戶到達最後一個文本框(zip)並點擊選項卡時,焦點將完全離開列表框。
我知道這與CTRL + TAB一起使用,但這對用戶體驗來說是不可接受的。有沒有辦法使用TAB鍵而不是CTRL + TAB鍵來使列表框選項卡通過它的項目?
我嘗試使用KeyboardNavigation.TabNavigation,.ControlNavigation等的變體沒有任何運氣,雖然我可能做錯了什麼。
有什麼想法?