Проблема с привязкой BindingList к ListBox - PullRequest
2 голосов
/ 16 декабря 2009

В приложении, над которым я работаю, мне нужно вести список проектов, которые загружены в данный момент, и отображать имена каждого в ListBox (хорошо, несколько ListBoxes, но это ни здесь, ни там). 1001 *

class Project
{
    public String Name;

    // Etc. etc...
}

У меня есть объект BindingList, который содержит все загруженные проекты, и я привязываю его к списку (ям) ListBox.

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, представляет собой набор имен классов для Проекта. Я что-то здесь упускаю? Каждая ссылка, которую я мог найти относительно привязки списков к ListBox, использует очень похожую настройку.

Ответы [ 2 ]

2 голосов
/ 17 декабря 2009

Вам нужно сделать свойства читабельными:)

class Project
{
    public string Name {get; private set;}

    // Etc. etc...
}

Теперь это должно работать. Я только что проверил это.

Это также должно работать:

public readonly string Name;

Как я уже говорил. Помещение «только для чтения» не работает. Я только что проверил и подтвердил это сам.

0 голосов
/ 17 декабря 2009

Кроме того, обратите внимание, что если вы хотите найти или отсортировать BindingList, вам нужно будет реализовать его и добавить эту функцию

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...