我有一个WPF
DataGrid
,我可以独立设置DataGrid
RowBackground
颜色,替代RowBackground
颜色。同样,我想独立设置DataGrid
RowForeground
颜色、替代RowForeground
颜色。
我怎样才能以简单和最佳的方式实现这一目标?
我动态绑定 DataGrid,XAML 静态资源在这里帮不了我。
我有一个WPF
DataGrid
,我可以独立设置DataGrid
RowBackground
颜色,替代RowBackground
颜色。同样,我想独立设置DataGrid
RowForeground
颜色、替代RowForeground
颜色。
我怎样才能以简单和最佳的方式实现这一目标?
我动态绑定 DataGrid,XAML 静态资源在这里帮不了我。
您可以像这样使用 AlternationIndex 道具:
<Style TargetType="{x:Type DataGridRow}">
<Style.Triggers>
<Trigger Property="ItemsControl.AlternationIndex" Value="0">
<Setter Property="Foreground" Value="Red" />
</Trigger>
</Style.Triggers>
</Style>
您可以设置一个样式触发器,该触发器将根据其背景颜色更改行的前景色。
例如,默认情况下,该行的前景色为蓝色,但如果其背景色为白色,则其前景色为红色。见下文。
<DataGrid ...>
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Setter Property="TextElement.Foreground" Value="Blue"/>
<Style.Triggers>
<Trigger Property="TextElement.Background" Value="White">
<Setter Property="TextElement.Foreground" Value="Red"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
...
</DataGrid>