在WPF'DataGrid'中,HorizontalGridLinesBrush
属性可以修改水平网格线的颜色。
某些项目的布尔属性设置为true,因此我希望突出显示它们,并将水平网格线笔刷设置为另一种颜色。
是否可以仅针对cetain Rows更改水平网格线的颜色?
答案 0 :(得分:3)
DataGrid.HorizontalGridLinesBrush
是按DataGrid
设置的,因此您无法每行更改它,但您可以通过禁用水平网格线并创建自定义DataGridRow
样式来替换默认水平线行为
<DataGrid ... GridLinesVisibility="Vertical">
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}">
<Setter Property="BorderThickness" Value="0,0,0,1"/>
<Setter Property="BorderBrush" Value="Black"/>
<Style.Triggers>
<!-- this will trigger when row is selected -->
<Trigger Property="IsSelected" Value="True">
<Setter Property="BorderBrush" Value="Red"/>
</Trigger>
<!-- this will trigger when Highlight property of the view model is true -->
<DataTrigger Binding="{Binding Highlight}" Value="True">
<Setter Property="BorderBrush" Value="Green"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
</DataGrid>