2014-02-17 1 views
1

배경 설정은 DataGridCheckBoxColumn에 대해서는 작동하지만 DataGridTextColumn에 대해서는 작동하지 않습니다. 리소스의 셀을 설정했습니다.WPF에서 IsEditing = True 인 경우 DataGridCell의 배경을 변경하는 방법

<Style TargetType="{x:Type DataGridCell}"> 
    <Style.Triggers> 
     <Trigger Property="IsSelected" Value="True"> 
      <Setter Property="Background" Value="#ffff00" /> 
     </Trigger> 

     <Trigger Property="IsEditing" Value="True"> 
      <Setter Property="BorderThickness" Value="1" /> 
      <Setter Property="BorderBrush" Value="#00ff00" /> 
      <Setter Property="Background" Value="#00ff00" /> 
     </Trigger> 
    </Style.Triggers> 
</Style> 

이 문제에 대한 해결책이 있습니까? <Window.Resources>에서 예를 들어, 자원

<SolidColorBrush x:Key="{x:Static SystemColors.WindowBrushKey}" Color="Transparent" /> 

:

+0

작동하지 않는 트리거를? – franssu

+0

'IsEditing'은'DataGridTextColumn'에서만 작동하지 않습니다. 편집 모드에서 자체 배경 스타일을 가지고 있기 때문입니다. –

답변

2

당신은 magic 문자열을 추가해야합니다. IsEditing="True" 색이 SystemColors 찍은 기본적 (White)에 의해 할당이 경우

. 그런 다음 메인 패널의 색상을 명시 적으로 설정하거나 Window을 지정해야합니다.

또는 Background="White"<DataGrid.Resources>이 캐릭터 설정 :

<DataGrid Background="White" ...> 
    <DataGrid.Resources> 
     <SolidColorBrush x:Key="{x:Static SystemColors.WindowBrushKey}" Color="Transparent" /> 
    </DataGrid.Resources> 
     ... 
</DataGrid>