Kishor
Kishor

Reputation: 4096

Change WPF DataGrid cell Background color on CellEditEnding

I have WPF DataGrid and a event handler CellEditEnding, I want a simple code to change the background color of edited cell inside the event handler.

Upvotes: 1

Views: 1055

Answers (1)

Vinit Sankhe
Vinit Sankhe

Reputation: 19885

The code below makes a cell bold when successfully edited.

Style

  <Style TargetType="Controls:DataGridCell" 
   BasedOn="{StaticResource {x:Type Controls:DataGridCell}}" 
   x:Key="CellBoldStyle">
<Style.Triggers>
    <EventTrigger RoutedEvent="Binding.SourceUpdated">
    <BeginStoryboard>
        <Storyboard>
        <ObjectAnimationUsingKeyFrames
            Duration="00:00:00.5"                                   Storyboard.TargetProperty
                                    ="(TextBlock.FontWeight)">
            <DiscreteObjectKeyFrame KeyTime="00:00:00" 
                                Value="{x:Static FontWeights.Normal}" />
            <DiscreteObjectKeyFrame KeyTime="00:00:00.5" 
                                Value="{x:Static FontWeights.Bold}" />
        </ObjectAnimationUsingKeyFrames>
        </Storyboard>
    </BeginStoryboard>
    </EventTrigger>
</Style.Triggers>
  </Style>

Column

  <Controls:DataGridTextColumn 
             Binding="{Binding Side, Mode=TwoWay, 
                               NotifyOnTargetUpdated=True, 
                               NotifyOnSourceUpdated=True}" 
             CellStyle="{StaticResource CellBoldStyle}" />

Upvotes: 1

Related Questions