对象到 Datagridview 的绑定列表

Binding List of object to Datagridview

我无法将 List<Person> 绑定到 DataGridView:

public class Person
{
    public Person(string name, bool likesbacon)
    {
        Name = name;
        LikesBacon = likesbacon;
    }
    public string Name { get; }
    public bool LikesBacon { get; set; }
}

DataGridView 有 2 列,TextBoxColumn 用于名称,CheckBoxColumn 用于 LikesBacon。 DataPropertyName 已正确设置,DataGridView 已按预期创建。

public MyForm(List<Person> persons)
{
    InitializeComponent();
    dgv.AutoGenerateColumns = false;
    dgv.DataSource = persons;
}

但是当我点击 CheckBox 时没有任何反应(dgv 的只读 属性 设置为 false)。当我逐步调试时,我发现只要鼠标指针悬停在 DataGridView 的单元格上,只要鼠标指针位于单元格上方,调试器就会循环进入 属性 中。

因此我无法通过 dgv 更改 Person 的属性。我做错了什么?

将列的 ReadOnly 属性 更改为 false 后,我能够使其正常工作。 :facepalm: