根据行内容对DataGrid中的各个行进行颜色编码
本文关键字:颜色 编码 DataGrid | 更新日期: 2023-09-27 18:02:43
我继承了一个。net 2.0 c#项目,它做了以下事情:
- 执行SQL查询
- 将SQL结果绑定到DataGrid
我发现了关于如何在DataGridView中实现这一点的相当多的信息,但是这似乎不适用于DataGrid(缺少DataGridViews拥有的方法/事件处理程序)。
我想要实现的,是基于一个列的结果,设置列的背景颜色为红色(例如)。
有没有人有任何建议,是转换为DataGridView将是唯一现实的选择(我想避免这种情况,如果可能的话!)
你可以在你的DataGrid Style中使用多个DataTriggers
<DataGrid Grid.Row="1" AutoGenerateColumns="True" VerticalAlignment="Top" ItemsSource="{Binding Items}">
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Style.Triggers>
<DataTrigger Binding="{Binding ItemIndex}" Value="True">
<Setter Property="Background" Value="Red"/>
</DataTrigger>
<DataTrigger Binding="{Binding ItemIndex}" Value="False">
<Setter Property="Background" Value="Blue"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
...
...
</DataGrid>
DataTriggers
的更多信息在这里:http://msdn.microsoft.com/en-us/library/system.windows.datatrigger.aspx