2013-07-12 65 views
1

我需要根據是否選中DataGridTemplateColumn中的CheckBox來更改DataGridTemplateColumn單元格的背景顏色。似乎這應該是可能的,我該怎麼做呢?WPF - 根據CheckBox值更改DataGridTemplateColumn單元格背景

柱:

<DataGridTemplateColumn Header="FSC-P" Width="SizeToHeader"> 
    <DataGridTemplateColumn.CellTemplate> 
     <DataTemplate> 
      <CheckBox IsChecked="{Binding FSCP}" 
         VerticalAlignment="Center" 
         HorizontalAlignment="Center" /> 
     </DataTemplate> 
    </DataGridTemplateColumn.CellTemplate> 
</DataGridTemplateColumn> 

我已經看到了這post但是,這是行不通的TemplateColumn中。任何幫助,將不勝感激。

+0

請考慮使用'DataTrigger'。 –

回答

3

以下Style將改變Background顏色Cell的,如果CheckBox檢查:

<Style x:Key="CheckBoxCellStyle" TargetType="DataGridCell"> 
     <Setter Property="ContentTemplate"> 
      <Setter.Value> 
       <DataTemplate> 
        <CheckBox x:Name="cb" 
           IsChecked="{Binding FSCP, UpdateSourceTrigger=PropertyChanged}" 
           VerticalAlignment="Center" 
           HorizontalAlignment="Center" /> 
       </DataTemplate> 
      </Setter.Value> 
     </Setter> 
     <Style.Triggers> 
      <DataTrigger Binding="{Binding FSCP, UpdateSourceTrigger=PropertyChanged}" Value="True"> 
       <Setter Property="Background" Value="Blue"/> 
      </DataTrigger> 
     </Style.Triggers> 
    </Style> 

<DataGridTemplateColumn Header="FSC-P" Width="SizeToHeader" CellStyle="{StaticResource CheckBoxCellStyle}"/> 
+0

感謝理查德E,這工作。與此同時,我發現這個:http://asimsajjad.blogspot.com/2010/09/changing-background-color-of-datagrid.html,它基本上與減去UpdateSourceTrigger相同。再次感謝 – user1017477

相關問題