C# C WPF Datagrid如何禁用特定列上的选择单元格

C# C WPF Datagrid如何禁用特定列上的选择单元格,c#,wpf,xaml,datagrid,selection,C#,Wpf,Xaml,Datagrid,Selection,这里是全新的,使用WPF datagrid也是全新的 我一直在搜索关于Datagrid的所有打开的线程,但我找不到任何问题的答案 我正在尝试将数据显示到datagrid中。到现在为止,一直都还不错。 我试图让用户在datagrid中选择单元格。到现在为止,一直都还不错。 我想禁用特定列上的选择单元格 请参阅链接中的图片 如何禁用“转矩”列或“平均值”列上的选择单元格,并允许用户仅选择列Mes1 Mes2 Mes3上的单元格 在下面的示例中,可以使用一列单元格作为图像: <DataGrid

这里是全新的,使用WPF datagrid也是全新的

我一直在搜索关于Datagrid的所有打开的线程,但我找不到任何问题的答案

我正在尝试将数据显示到datagrid中。到现在为止,一直都还不错。 我试图让用户在datagrid中选择单元格。到现在为止,一直都还不错。 我想禁用特定列上的选择单元格

请参阅链接中的图片

如何禁用“转矩”列或“平均值”列上的选择单元格,并允许用户仅选择列Mes1 Mes2 Mes3上的单元格

在下面的示例中,可以使用一列单元格作为图像:

<DataGrid ItemsSource="{Binding Customers}" AutoGenerateColumns="False" >
    <DataGrid.Columns>
        <DataGridTextColumn Header="Name" Binding="{Binding Name}" />
        <DataGridTemplateColumn Header="Image" Width="SizeToCells" IsReadOnly="True">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <Image Source="{Binding Image}" />
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>
</DataGrid>

如果要防止选中某些列中的单元格,可以使用DataGridCell样式,将这些单元格的IshitteVisible属性设置为true:


我只是在玩代码。但当我点击例如列Mes 1中的一个单元格,然后使用键盘导航时,可以聚焦列Torque和Average的单元格:-
<DataGrid x:Name="dataGrid1">
    <DataGrid.Resources>
        <Style TargetType="{x:Type DataGridCell}">
            <Style.Triggers>
                <DataTrigger Binding="{Binding Column.Header, RelativeSource={RelativeSource Self}}" Value="Torque">
                    <Setter Property="IsHitTestVisible" Value="False"/>
                </DataTrigger>
                <DataTrigger Binding="{Binding Column.Header, RelativeSource={RelativeSource Self}}" Value="Average">
                    <Setter Property="IsHitTestVisible" Value="False"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </DataGrid.Resources>
</DataGrid>
<DataTrigger Binding="{Binding Column.Header, RelativeSource={RelativeSource Self}}" Value="Torque">
    <Setter Property="IsHitTestVisible" Value="False"/>
    <Setter Property="IsTabStop" Value="False"/>
    <Setter Property="IsEnabled" Value="False"/>
</DataTrigger>