2013-07-12 5 views
1

DataGridTemplateColumn의 CheckBox를 선택했는지 여부에 따라 DataGridTemplateColumn 셀의 배경색을 변경해야합니다. 이것이 xaml 내에서 가능해야한다고 나는 어떻게 할 수 있습니까?WPF - CheckBox 값을 기준으로 DataGridTemplateColumn 셀 배경을 변경하십시오.

열 :이은에 TemplateColumn 작동하지 않습니다, 그러나이 post을 보았다

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

. 어떤 도움을 주시면 감사하겠습니다. CheckBox을 선택하면

+0

'DataTrigger' 사용을 고려하십시오. –

답변

3

다음 StyleCellBackground 색상을 변경합니다 :

<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

Richard E에게 감사드립니다. 그 동안, 나는 이것을 찾았습니다 : http://asimsajjad.blogspot.com/2010/09/changing-background-color-of-datagrid.html, 이것은 UpdateSourceTrigger를 뺀 것과 본질적으로 같습니다. 다시 한 번 감사드립니다. – user1017477

관련 문제