繁体   English   中英

将 BindingList 绑定到 ListBox 时遇到问题

[英]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 进行搜索或排序,则需要实现它并添加此功能

http://msdn.microsoft.com/en-us/library/ms993236.aspx

一个可能的问题是新项目没有插入到 BindingList 而是插入到它的父 List

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM