2013-03-07 89 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