如何跳过WPF DataGrid单元格焦点并去控制里面呢?

j.k*_*hil 2 wpf wpfdatagrid

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

LWC*_*ris 9

由于a中的按钮DataGrid不是标准列类型,我想你已经在使用了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>
Run Code Online (Sandbox Code Playgroud)