如何设置DataGridCheckBoxColumn复选框背景颜色?

时间:2011-07-19 13:30:20

标签: wpf checkbox

我有一个DataGridCheckBoxColumn,我想设置复选框的背景颜色,以表明它是只读的。我已经想出如何使用CellStyle标签设置整个单元格背景颜色,但是,我无法弄清楚我需要做什么来定位复选框的背景颜色,而不是整个数据单元。

下面是我所拥有的,它设置DataGridCell的颜色,而不是复选框。如果我除了TargeType之外还有DataGridCell之外的任何内容,我似乎也会遇到异常。

<DataGridCheckBoxColumn Header="Processed" Binding="{Binding Path=IsProcessingComplete, Mode=OneWay}" Width="70" IsReadOnly="True">
    <DataGridCheckBoxColumn.CellStyle>
        <Style TargetType="DataGridCell">
            <Setter Property="Background" Value="Gray"/>
        </Style>
    </DataGridCheckBoxColumn.CellStyle>
</DataGridCheckBoxColumn>

1 个答案:

答案 0 :(得分:1)

尝试使用DataGridTemplateColumn。我认为设置“背景”比DataGridCheckBoxColumn更容易。

<DataGrid ItemsSource="{Binding}" >
    <DataGrid.Columns>
        <DataGridTemplateColumn>
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <CheckBox Background="Red"/>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>
</DataGrid>