我设法让它发挥作用。显然,DisplayMemberPath 与 ItemTemplate 相矛盾。此问题与组合框(或任何其他控件)更相关,而不是与数据网格和组合框列相关。这个问题对我来说很有洞察力:https://stackoverflow.com/a/15656372。所以我删除了该声明。
<DataGridComboBoxColumn Header="Target Company, Customer, Project" x:Name="TargetCompanyCol" SelectedValueBinding="{Binding Path=TargetCompanyColored}" ItemsSource="{Binding Source={x:Static local:WorkerAndTasksVM.ChooseCompanyItemsColored}}" >
<DataGridComboBoxColumn.EditingElementStyle>
<Style TargetType="ComboBox">
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<Label Name="DT_ListLabel" Content="{Binding displayName}" Background="{Binding displayColor}" Margin="0"/>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</DataGridComboBoxColumn.EditingElementStyle>
</DataGridComboBoxColumn>
我还必须为保存 displayColor 和 displayName 的类定义 toString 方法