我有一个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>
答案 0 :(得分:1)
尝试使用DataGridTemplateColumn
。我认为设置“背景”比DataGridCheckBoxColumn
更容易。
<DataGrid ItemsSource="{Binding}" >
<DataGrid.Columns>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox Background="Red"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>