在 WPF Datagrid 中为网格线着色

Posted

技术标签:

【中文标题】在 WPF Datagrid 中为网格线着色【英文标题】:Coloring Gridlines in WPF Datagrid 【发布时间】:2011-07-01 21:30:23 【问题描述】:

如何设置 wpf 数据网格的网格线颜色?我可以使用属性GridLinesVisibility 隐藏这些行,但我不知道如何为它们着色。我用行和单元格的 Borderbrush 进行了尝试,但没有成功。

【问题讨论】:

【参考方案1】:

您有属性HorizontalGridLinesBrushVerticalGridLinesBrush

示例

<DataGrid HorizontalGridLinesBrush="Green"
          VerticalGridLinesBrush="Red"
          ...>

【讨论】:

【参考方案2】:

您可以更改 Datagrid 的 VerticalGridLinesBrushHorizo​​ntalGridLinesBrush 属性

 <Window.Resources>
       <SolidColorBrush x:Key="RedGridLine" Color="#FFFF4444" />
       <SolidColorBrush x:Key="BlueGridLine" Color="#554444FF"/>
    </Window.Resources>

<my:DataGrid VerticalGridLinesBrush="StaticResource RedGridLine"
        HorizontalGridLinesBrush="StaticResource BlueGridLine" >

了解更多

http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/0202b0dd-38d9-4ad7-8576-d115922aeeec/

http://www.c-sharpcorner.com/UploadFile/dpatra/1803/

【讨论】:

【参考方案3】:

为了补充当前的答案,可以同时更改资源中的不透明度以影响网格线:

 <Window.Resources>
     <SolidColorBrush x:Key="***Gray" Color="LightGray" Opacity=".3" />
 </Window.Resources>

...

那么以下用法在数据网格中显示的边框较浅:

<DataGrid GridLinesVisibility="All"
          HorizontalGridLinesBrush="StaticResource ***Gray"
          VerticalGridLinesBrush="StaticResource ***Gray"

【讨论】:

添加 GridLinesVisibility="All" 为我完成了这项工作。谢谢! +1

以上是关于在 WPF Datagrid 中为网格线着色的主要内容,如果未能解决你的问题,请参考以下文章

wpf datagrid交替行着色

C# WPF 根据数据更改 DataGrid 行(背景)颜色

如何在网格视图中为网格单元格着色?

在 WPF 中为 DataGrid 缩小列的宽度

保存为PDF时,WPF DataGrid GridLines不可见

如何在 WPF Datagrid 上启用滚动条?