我有一个带有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>
谢谢提示!
最佳答案
您可以定义DataGridComboBoxColumn CellStyle:
<DataGridComboBoxColumn Header="Is Active"
SelectedItemBinding="{Binding IsActive}"
EditingElementStyle="{StaticResource ComboBoxStyle}"
ItemsSource="{StaticResource BooleanValues}">
<DataGridComboBoxColumn.CellStyle>
<Style TargetType="{x:Type DataGridCell}">
<Setter Property="Foreground" Value="Red" />
</Style>
</DataGridComboBoxColumn.CellStyle>
</DataGridComboBoxColumn>
关于wpf - 如何更改DataGridComboBoxColumn中单元格值的前景色?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16612124/