DatagridComboBoxColumn

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>


谢谢提示!

最佳答案

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

10-09 17:38