3

我有一个网格,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>

感谢提示!

4

1 回答 1

2

您可以定义您的 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>

在此处输入图像描述

于 2013-05-17T16:11:36.730 回答