当数据行不可见时,它会在再次可见时立即更改其背景颜色,反之亦然
When datarow is not visible, it changes it's background color as soon as it's visible again and vice versa
我设法让您可以将单行的 bg-color 设置为绿色。但是,一旦该行不可见,它就会将 bg-color 更改为我设置的 AlternatingRowBackground
。这是我的代码:
<Window.Resources>
<Style TargetType="DataGridRow">
<Style.Triggers>
<DataTrigger Binding="{Binding Done}" Value="True">
<Setter Property="Background" Value="Green" />
</DataTrigger>
</Style.Triggers>
</Style>
</Window.Resources>
//...
<DataGrid Name = "DG" AutoGenerateColumns="False" IsSynchronizedWithCurrentItem="True" AlternatingRowBackground="LightGray" AlternationCount="2">
<DataGrid.Columns>
<DataGridTextColumn Header="Done" Binding="{Binding Done}"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
我正在使用 WPF 和 C#
那是因为您使用 AlternatingRowBackground="LightGray"
。你说,每隔两行应该涂成浅灰色,比你难过的是,其中一些是绿色的。在我的评估中,他(编译器左右)很困惑,不知道该怎么做,所以它将颜色更改为绿色和灰色。所以只需删除 AlternatingRowBackground="LightGray"
我设法让您可以将单行的 bg-color 设置为绿色。但是,一旦该行不可见,它就会将 bg-color 更改为我设置的 AlternatingRowBackground
。这是我的代码:
<Window.Resources>
<Style TargetType="DataGridRow">
<Style.Triggers>
<DataTrigger Binding="{Binding Done}" Value="True">
<Setter Property="Background" Value="Green" />
</DataTrigger>
</Style.Triggers>
</Style>
</Window.Resources>
//...
<DataGrid Name = "DG" AutoGenerateColumns="False" IsSynchronizedWithCurrentItem="True" AlternatingRowBackground="LightGray" AlternationCount="2">
<DataGrid.Columns>
<DataGridTextColumn Header="Done" Binding="{Binding Done}"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
我正在使用 WPF 和 C#
那是因为您使用 AlternatingRowBackground="LightGray"
。你说,每隔两行应该涂成浅灰色,比你难过的是,其中一些是绿色的。在我的评估中,他(编译器左右)很困惑,不知道该怎么做,所以它将颜色更改为绿色和灰色。所以只需删除 AlternatingRowBackground="LightGray"