2
我有一个网格与DataGridComboBoxColumn
,我想改变单元格的前景颜色(不在编辑状态)。如何更改DataGridComboBoxColumn中单元格值的前景色?
我知道我可以使用DataGridTemplateColumn
解决这个问题,但我想试试这个。
比较:
<DataGridComboBoxColumn Header="Is Active"
SelectedItemBinding="{Binding IsActive}"
EditingElementStyle="{StaticResource ComboBoxStyle}"
ItemsSource="{StaticResource BooleanValues}">
</DataGridComboBoxColumn>
和
<DataGridTemplateColumn Header="IsActive">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding IsActive}"
Style="{StaticResource DataGridTextBlockStyle}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<Grid FocusManager.FocusedElement="{Binding ElementName=combo}">
<ComboBox Name="combo"
SelectedValue="{Binding IsActive}"
ItemsSource="{StaticResource BooleanValues}" />
</Grid>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
感谢的提示!
不幸的是,这并不工作,作风上DataGridCell应用,但所显示的文字是TextBlock元素的文本4级更深 - ' DataGridCell'-'Border'-'ContentPresenter'-'TextBlockComboBox'-'ContentPresenter'-'TextBlock'。 –
奇怪的是,我认为它在我的情况下工作(如截图所示)。我会尽快看看。 – Sisyphe