【问题标题】:How to remove double line in datagrid in C#如何在 C# 中删除数据网格中的双线
【发布时间】:2021-08-01 09:33:44
【问题描述】:

首先,我要绘制整个数据网格的边框。

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

<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的Header中红圈的线条颜色?

【问题讨论】:

    标签: c# .net wpf datagrid border


    【解决方案1】:

    您可以按如下方式更改 DataGrid 标题设计。下面是一个简单的例子。更多详细信息,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>
    

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

    【讨论】:

    • 谢谢。 CheckBox 和 Pattern List 可以分开设置吗?我想把 CheckBox 放在中间,把 Pattern List 放在左边。
    • 要分别调整两个标题的颜色吗?
    • 没有。我有两个标题复选框和模式列表。但是,如果我这样设置 '''''',复选框和模式列表都位于单元格的左侧。我想将复选框放在第一个单元格的中心,并将模式列表放在第二个单元格的左侧。换句话说,我想分别调整两个标题中的 Horizo​​ntalContentAlignment。
    • 据我所知,第一个单元格自动左对齐。 (我可能知道错了。)也许您可以使用复选框边距功能将其设置为显示在中间。
    • 不客气。如果上述答案对您有用,请接受它作为答案。
    猜你喜欢
    • 2021-05-23
    • 2019-01-25
    • 2011-09-17
    • 1970-01-01
    • 2021-11-05
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 2017-12-04
    相关资源
    最近更新 更多