グリッドが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>
ヒントをありがとう!