WPF DataGrid单元格背景使用绑定

时间:2011-10-21 14:42:21

标签: wpf binding datagrid colors background

我有一个名为Color的列的DataGrid。

<DataGridTextColumn Header="Color" Binding="{Binding MyColor.Percentage}"/>

DataGrid的ItemSource是一个内部具有MyColor属性的对象。

public class MyColor
{
    Color Background { get; set; }
    int Percentage { get; set; }
}

设置ItemSource时,列自动填充值Percentage。现在,我想将此列中每个单元格的背景设置为与MyColor.Color属性对应的颜色。有没有办法使用绑定?像

这样的东西
Background="{Binding MyColor.Color}"

Color属性是html格式的#XXXXXXXX(它叫做html格式吗?)。

1 个答案:

答案 0 :(得分:9)

您可以通过CellStyle

进行设置
<DataGridTextColumn Header="Color" Binding="{Binding MyColor.Percentage}">
    <DataGridTextColumn.CellStyle>
        <Style TargetType="DataGridCell">
            <Setter Property="Background" Value="{Binding MyColor.Background}" />
        </Style>
    </DataGridTextColumn.CellStyle>
</DataGridTextColumn>

此外,您必须将MyColor课程更改为Background属性Brush,而不是Color。或者,您可以使用转换器将Color转换为SolidColorBrush