В WPF "DataGrid" цвет горизонтальной сетки может быть изменен с помощью свойства HorizontalGridLinesBrush
.
Некоторые элементы имеют логическое свойство, установленное в true, поэтому я хочу выделить их с помощью кисти горизонтальной сетки, установленной на другой цвет.
Можно ли изменить цвет горизонтальной линии сетки только для рядов цетаина?
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>