如何在DataTrigger 中设置DataGrid 线条颜色?

How to set DataGrid line color in DataTrigger?

如何通过 DataTrigger 为 DataGrid 中的某些行设置不同的网格线颜色?

我试过这个:

<DataGrid ...>
    <DataGrid.RowStyle>
        <Style TargetType="DataGridRow">
            <Style.Triggers>
                <DataTrigger
                    Binding="{Binding in_stock, Converter={conv:LessThan 4}}"
                    Value="True">
                    <Setter Property="BorderBrush" Value="Red" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </DataGrid.RowStyle>
</DataGrid>

但是网格线都是一样的,默认颜色。

试试这个方法

 <Window.Resources>

        <Style x:Key="HighLightCell" TargetType="DataGridCell" BasedOn="{StaticResource {x:Type DataGridCell}}">
            <Style.Triggers>
                <DataTrigger Binding="{Binding In_stock}" Value="True">
                    <Setter Property="BorderBrush" Value="Red" />
                </DataTrigger>
            </Style.Triggers>
        </Style>

</Window.Resources>
<Grid>
    <DataGrid Grid.Row="3"
      ItemsSource="{Binding DataGridPersonList}"
      SelectedItem="{Binding SelectedDataGridPerson}"
    CellStyle="{StaticResource HighLightCell}"
      AutoGenerateColumns="False"
    >

        <DataGrid.Columns>
            <DataGridTextColumn Header="Status"
                  Binding="{Binding Status}" Width="*" >

            </DataGridTextColumn>

            <DataGridTextColumn Header="Name"
                  Binding="{Binding Name}" Width="*" />

        </DataGrid.Columns>

    </DataGrid>


</Grid>

我还没有找到在每一行隐藏网格线的方法,但我通过 GridLinesVisibility="Vertical" 删除所有水平网格线并为每个 DataGridCell 创建一个像素的底部边框来绕过它想要。