将 DataGridComboBoxColumn 绑定到对象

Binding DataGridComboBoxColumn to Object

我试图将组合框绑定到数据网格中的对象,但收效甚微。

Object.cs:

public class Object {

public static IEnumerable<string> Colors => new List<string> {"Red", "Green", "Blue"}

}

public string Color {
get => color;
set => color = value;
}

private string Color;

我的 ViewModel 包含这些模型的集合,我称之为 Objects

XAML 文件:

<DataGrid Name="DataGrid" ItemsSource={Binding Objects}" Style={StaticResource DataGridStyle}">
    <DataGrid.Columns>
        <DataGridComboBoxColumn Header="Test" SelectedValueBinding="{Binding Color, StringFormat=F3, Mode=TwoWay}" ItemsSource="{Binding Colors}"/>
    <DataGrid.Columns/>
<DataGrid/>

有人知道我做错了什么吗?现在,我所看到的只是 ComboBox 应该所在的空白 space。我已经尝试了以下没有成功的事情,我怀疑可能是问题所在:

这应该有效:

<DataGridComboBoxColumn Header="Test"
                        SelectedValueBinding="{Binding Color, StringFormat=F3, Mode=TwoWay}" 
                        ItemsSource="{x:Static local:Object.Colors}"/>

local 映射到定义了 Object 的命名空间:

xmlns:local="clr-namespace:WpfApp1"