2012-04-29 42 views
0

我想要將整行的背景的綁定爲XAML中每個記錄的布爾屬性。在DataGrid中更改整行背景

有太多的方法來改變DataGrid的風格,但我想改變的特定風格,是負責整個行...

例如,類記錄是DataGrid和它背後的綁定數據有一個布爾屬性「正確」(真/假),我想數據網格顯示在紅色背景爲假正確的行,當真正的綠色。

我試過使用CellStyle,但它只改變行中每個單元格的背景,而不是整行。

+0

使用[DataGrid.RowStyle](http://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid .rowstyle.aspx)。 – LPL

+0

我把這個setter ,它並沒有改變一件事 –

回答

2

如所提到的使用DataGrid.RowStyle,例如:

<Style x:Key="DataGridRowCorrectStyle" TargetType="{x:Type Toolkit:DataGridRow}"> 
    <Setter Property="Background" Value="Green"/> 
    <Style.Triggers> 
     <DataTrigger Binding="{Binding Correct}" Value="False"> 
      <Setter Property="Background" Value="Red"/> 
     </DataTrigger> 
    </Style.Triggers> 
</Style> 

<Toolkit:DataGrid RowStyle={StaticResource DataGridRowCorrectStyle} ... /> 
0

要更改行的背景顏色,您需要更改行中每個單元格的背景顏色。創建一個設置背景顏色的樣式,然後將其分配給CellStyle成員。如果要使用RowStyle設置顏色,將單元格的背景顏色設置爲透明,然後使用RowStyle樣式設置顏色。