将自定义对象列表绑定到组合框(DisplayMember不起作用)

本文关键字:DisplayMember 不起作用 组合 自定义 对象 列表 绑定 | 更新日期: 2023-09-27 18:26:12

我正在尝试将列表绑定到组合框作为数据源。我的列表由自定义类对象组成。绑定工作正常,但我无法设置DisplayMember。

我的类定义;我有一个自定义类"Sett_Selection",它保存了另一个自定义类别的列表"设置"。

public class Sett
{
    public string nameOfSett;
    public Sett(){
        ...
    }
}
public class Sett_Colection
{
    public List<Sett> listOfSetts;
    public Sett_Colection(){
        ...
    }
}

我表单中的代码是这样的;

public partial class Form1: Form
{
    Sett_Colection collectionOfSetts;
    public Form1()
    {
        // Here I add Sett instances into collectionOfSetts
        // So collectionOfSetts.listOfSetts is not empty
        combobox1.DataSource = collectionOfSetts.listOfSetts;
        cmb_ayar.DisplayMember = "nameOfSett";
    }
}

当我这样做时,数据源分配成功。但显示成员尚未设置为"nameOfSett"。项目名称显示为"Namespace.Set";

我在网上找到了很多示例代码,但都不起作用。我认为我的情况有点不同

将自定义对象列表绑定到组合框(DisplayMember不起作用)

您需要它是一个属性:

public string nameOfSett {get; set;}