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>