如何在 C# 中删除数据网格中的双线

How to remove double line in datagrid in C#

首先,我要绘制整个datagrid的边框。

所以我像下面的代码一样设置数据网格

<DataGrid ItemsSource="{Binding DirectoryPath, Source={StaticResource vm}}"
          CanUserAddRows="False"
          RowHeaderWidth="0"
          BorderBrush="Black"
          BorderThickness="1"
          AutoGenerateColumns="False">

并且,我添加了 DataGridTemplateColum

<DataGridTemplateColumn Header="Pattern List" MinWidth="100" Width="*">
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Path=PathDir}"
                       HorizontalAlignment="Left"
                       VerticalAlignment="Center"/>
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

在运行屏幕中,我发现出现了一条双线。

我的问题是二,

  1. 如何去除黄圈中的双线?

  2. DataGridTemplateColum's Header 中红色圆圈中的线条颜色可以更改吗?

您可以按如下方式更改 DataGrid header 设计。下面是一个简单的例子。更多详细信息,please see.

<Window.Resources>

    <LinearGradientBrush x:Key="DataGridHeaderBrush" StartPoint="0.5,0" EndPoint="0.5,1">
        <GradientStop Color="#2a5298" Offset="0"/>
        <GradientStop Color="#1e3c72" Offset="1"/>
    </LinearGradientBrush>


    <Style x:Key="DataGridHeaderStyle" TargetType="DataGridColumnHeader">
        <Setter Property="Background" Value="{StaticResource DataGridHeaderBrush}" />
        <Setter Property="Foreground" Value="White" />
        <Setter Property="BorderBrush" Value="Black" />
        <Setter Property="BorderThickness" Value="0" />
        <Setter Property="SnapsToDevicePixels" Value="True" />
        <Setter Property="HorizontalContentAlignment" Value="Left" />
        <Setter Property="MinWidth" Value="0" />
        <Setter Property="MinHeight" Value="30" />
        <Setter Property="Cursor" Value="Hand" />
    </Style>
    </Window.Resources>

<Grid >
    <DataGrid Name="dataGrid1" ColumnHeaderStyle="{StaticResource DataGridHeaderStyle}"/>
</Grid>

我不明白为什么黄色区域的厚度是可见的。我觉得一切都很正常。