I have a DataGrid with column named Color.
<DataGridTextColumn Header="Color" Binding="{Binding MyColor.Percentage}"/>
The ItemSource of DataGrid is some object with MyColor property inside.
public class MyColor
{
Color Background { get; set; }
int Percentage { get; set; }
}
When ItemSource is set column auto-fills with values of Percentage. Now I'd like to set background of each cell in this column to color corresponding to MyColor.Color property. Is there a way to do it using binding? Something like
Background="{Binding MyColor.Color}"
Color property is in html format #XXXXXXXX (is it called html format?).
You can set it via CellStyle:
<DataGridTextColumn Header="Color" Binding="{Binding MyColor.Percentage}">
<DataGridTextColumn.CellStyle>
<Style TargetType="DataGridCell">
<Setter Property="Background" Value="{Binding MyColor.Background}" />
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>
Also you have to change your MyColor class to have a Background property with type Brush, not Color. Or you can use a converter to convert Color into SolidColorBrush.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With