WPF DataGridCell BorderThickness=0 不起作用

WPF DataGridCell BorderThickness=0 doesn't work

DataGridColumnHeader.BorderThickness=0 对我有效,但对 DataGridRow 或 DataGridCell 无效,有什么想法吗?

<DataGrid x:Name="dg">
    <DataGrid.Resources>
        <Style TargetType="DataGrid">
            <Setter Property="Background" Value="Transparent" />
            <Setter Property="BorderThickness" Value="0" />
        </Style>
        <Style TargetType="DataGridColumnHeader">
            <Setter Property="Background" Value="Transparent" />
            <Setter Property="BorderBrush" Value="Black" />
            <Setter Property="BorderThickness" Value="0 0 0 1" />
        </Style>
    </DataGrid.Resources>
</DataGrid>

结果:

这可以通过将 GridLinesVisibility 属性 设置为 None 来实现。

<DataGrid x:Name="dg" DataGrid.GridLinesVisibility="None">
    ...

您可以尝试以下代码片段来了解 DataGrid 的哪一部分受到 BorderThickness 设置的影响 - 有 3 种边框样式,每种都有不同的颜色。

<DataGrid x:Name="dg" >
    <DataGrid.Resources>
        <Style TargetType="DataGridCell">
            <Setter Property="BorderThickness" Value="1" />
            <Setter Property="BorderBrush" Value="Red" />
        </Style>
        <Style TargetType="DataGrid">
            <Setter Property="Background" Value="Transparent" />
            <Setter Property="BorderThickness" Value="1" />
            <Setter Property="BorderBrush" Value="Green" />
        </Style>
        <Style TargetType="DataGridColumnHeader">
            <Setter Property="Background" Value="Transparent" />
            <Setter Property="BorderBrush" Value="Black" />
            <Setter Property="BorderThickness" Value="0 0 0 1" />
        </Style>
    </DataGrid.Resources>
</DataGrid>