Я думал, что это было простой проблемой, но я не могу найти информацию о сети. Я связываю ListBox с a List
использование BindingSource
как так:
List<Customer> customers = MyMethodReturningList();
BindingSource customersBindingSource = new BindingSource();
customersBindingSource.DataSource = customers;
customersListBox.DataSource = customersBindingSource;
Теперь, когда я добавляю или удаляю из customers
список, мой ListBox
обновляется (даже без использования ResetBindings
на BindingSource
), но если я изменяю какой-либо из клиентских объектов в списке, он не делает. Вызов ResetBindings
не имеет никакого эффекта. Я даже реализовал свое собственное BindingList
, но поведение не изменилось.
Customer
класс использует свойства для доступа и модификации данных. ToString()
содержание отображено в списке.
Я использую C# в.Net 2.0.
Какие-либо идеи?
Спасибо
OK, вот грязное исправление: когда бы вам ни понадобилось обновить содержимое ящика, установите источник данных = null, а затем переопределите его.
причина, по которой он не обновляется, в том, что объекты в списке не изменились, и он проверяет только ссылки на объект, а не его содержимое.