Search code examples
wpfwpfdatagrid

Change color of Datagrid Column using Value of other column


<DataGrid>
 <DataGrid.Columns>

 <DataGridTemplateColumn Header="Name" >
        <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <Label x:Name="lblName" Content="{Binding Name}" Foreground="White" />
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Binding="{Binding Path=IsActice}" Header="Is Actice"  />
 </DataGrid.Columns>
</DataGrid>

I want to Change the Color of lblName when Datagrid Fills according to IsActive Value


Solution

  • I resolved using the following code

    <Style TargetType="{x:Type Label}" x:Key="DataGridLabel">
      <Style.Triggers>
        <MultiDataTrigger>
          <MultiDataTrigger.Conditions>
            <Condition Binding="{Binding Path=IsActive}" Value="False"/>
          </MultiDataTrigger.Conditions>
          <Setter Property="Label.Background" Value="Red"/>
        </MultiDataTrigger>
        <MultiDataTrigger>
          <MultiDataTrigger.Conditions>
            <Condition Binding="{Binding Path=IsActive}" Value="True"/>
          </MultiDataTrigger.Conditions>
          <Setter Property="Label.Background" Value="Green"/>
        </MultiDataTrigger>
      </Style.Triggers>
    </Style>