如何跳过 WPF DataGrid 单元格焦点并转到其中的控件?

How to skip WPF DataGrid cell focus and go to control inside it?

在 WPF 项目中,我在 datagridcell 中有一个按钮,当我按下 tab 键时,它会首先聚焦单元格,然后是该单元格内的按钮我如何跳过单元格焦点 这些列是动态的,我不知道哪一列有按钮或文本框

由于 DataGrid 中的按钮是 none 标准列类型,我想您已经在使用 DataGridTemplateColumn.

DataGridTemplateColumn.CellTemplate 外,还设置 DataGridTemplateColumn.CellStyle 样式,将 DataGridCell.IsTabStop 属性 设置为 False:

<DataGrid ItemsSource="{Binding Items}" AutoGenerateColumns="False">
    <DataGrid.Columns>
        <DataGridCheckBoxColumn Binding="{Binding IsChecked}" Header="CheckBoxColumn" />
        <DataGridTextColumn Binding="{Binding Text}" Header="TextColumn" />
        <DataGridTemplateColumn Header="ButtonColumn">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <Button Content="Text" />
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
            <DataGridTemplateColumn.CellStyle>
                <Style TargetType="DataGridCell">
                    <Setter Property="IsTabStop" Value="False" />
                </Style>
            </DataGridTemplateColumn.CellStyle>
        </DataGridTemplateColumn>
    </DataGrid.Columns>
</DataGrid>