ComboBox DataBinding导致ArgumentException

Stu*_*ens 5 c# data-binding combobox winforms


我有几个类对象:

class Person
{
    public string Name { get; set; }
    public string Sex { get; set; }
    public int Age { get; set; }

    public override string ToString()
    {
        return Name + "; " + Sex + "; " + Age;
    }
}
Run Code Online (Sandbox Code Playgroud)

和一个具有类型属性的类Person:

class Cl
{
    public Person Person { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我想绑定Cl.Person到组合框.当我尝试这样做时:

Cl cl = new cl();
comboBox.DataSource = new List<Person> {new Person{Name = "1"}, new Person{Name = "2"}};
comboBox.DataBindings.Add("Item", cl, "Person");
Run Code Online (Sandbox Code Playgroud)

我得到了ArgumentException.我应该如何修改绑定以获得正确的程序行为?
提前致谢!

Jür*_*ock 7

绑定到"SelectedItem":

        var persons = new List<Person> { new Person() { Name = "John Doe"}, new Person() { Name = "Scott Tiger" }};
        comboBox1.DisplayMember = "Name";
        comboBox1.DataSource = persons;
        comboBox1.DataBindings.Add("SelectedItem", cl, "Person");
Run Code Online (Sandbox Code Playgroud)