[英]Trouble binding a BindingList to ListBox
在我正在开发的应用程序中,我需要维护当前加载的项目列表,并在 ListBox 中显示每个项目的名称(好吧,多个 ListBox,但既不存在也不存在)。
class Project
{
public String Name;
// Etc. etc...
}
我有一个 BindingList 对象,它包含所有加载的项目,并将它绑定到我的 ListBox(es)。
private BindingList<Project> project_list = new BindingList<Project>();
private ListBox project_listbox;
private void setList()
{
project_listbox.DisplayMember = "Name";
project_listbox.ValueMember = "Name";
project_listbox.DataSource = project_list;
}
但是,当我这样做时,在project_listbox
显示的只是项目的一组类名。 我在这里错过了什么吗? 我能找到的关于将 List 绑定到 ListBox 的每个参考都使用非常相似的设置。
您需要使属性可读:)
class Project
{
public string Name {get; private set;}
// Etc. etc...
}
现在它应该可以工作了。 我刚刚测试了它。
这也应该有效:
public readonly string Name;
正如我被指出的那样。 放置“只读”不起作用。 我只是自己测试和验证过。
顺便说一句,请注意,如果您想对 BindingList 进行搜索或排序,则需要实现它并添加此功能
一个可能的问题是新项目没有插入到 BindingList 而是插入到它的父 List
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.