2013-03-07 84 views
0

我继承了一个.NET 2.0的C#项目,做以下的编码在DataGrid中各行:颜色基于行的内容

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

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

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

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

回答

0

您可以在数据网格样式使用多个DataTriggers。在这里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> 

更多信息:http://msdn.microsoft.com/en-us/library/system.windows.datatrigger.aspx