基于行内容对DataGrid中的各个行进行颜色编码

时间:2013-03-07 16:58:49

标签: c# sql datagrid

我继承了一个.NET 2.0 c#项目,该项目执行以下操作:

  • 执行SQL查询
  • 将SQL结果绑定到DataGrid

我已经找到了一些关于如何在DataGridView中实现这一点的信息,但这似乎不适用于DataGrid(DataGridViews缺少方法/事件处理程序)。

我想要实现的目标是基于列的结果将列的背景颜色设置为红色(例如)。

有没有人有任何建议,是转换为DataGridView将是唯一现实的选择(我想尽可能避免这种情况!)

1 个答案:

答案 0 :(得分:0)

您可以在DataGrid样式中使用多个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