从WPF DataGrid中的特定列中删除焦点

Kis*_*mar 0 c# wpf datagrid

我有一个WPF DataGrid.

当用户按Tab键时,我不想把焦点放在第一列和第三列上,所以当我到达一行时,我应该在第二列,当我再次按Tab键并达到3列时,它将sholud移至第4列.

我怎么能在WPF DataGrid中这样做

Dan*_*sha 5

TabStopIndex值表示按Tab键时下一个应该接收焦点的字段.此外,您可以通过KeyboardNavigation设置完全禁用控件的TabStop .IsTabStop附加属性.

XAML:

<DataGrid ItemsSource="{Binding}" AutoGenerateColumns="False">
        <DataGrid.Resources>
            <Style x:Key="NoTabStopStyle" TargetType="{x:Type DataGridCell}">
                <Setter Property="KeyboardNavigation.IsTabStop" Value="False"/>
            </Style>
        </DataGrid.Resources>
        <DataGrid.Columns>
            <DataGridTextColumn Binding="{Binding Path=FirstColumn}" CellStyle="{StaticResource NoTabStopStyle}"/>
            <DataGridTextColumn Binding="{Binding Path=SecondColumn}"/>
            <DataGridTextColumn Binding="{Binding Path=ThirdColumn}" CellStyle="{StaticResource NoTabStopStyle}"/>
        </DataGrid.Columns>
    </DataGrid>
Run Code Online (Sandbox Code Playgroud)