【发布时间】:2015-09-01 02:22:59
【问题描述】:
我有一个包含我的客户详细信息的课程。
class CustomerData : INotifyPropertyChanged
{
private string _Name;
public string Name
{
get
{ return _Name }
set
{
_Name = value;
OnPropertyChanged("Name");
}
}
// Lots of other properties configured.
}
我还有一个CustomerData 值列表List<CustomerData> MyData;
我目前 databinding 个人 CustomerData 反对 textboxes 在下面的工作正常。
this.NameTxtBox.DataBindings.Add("Text", MyCustomer, "Name", false, DataSourceUpdateMode.OnPropertyChanged);
我正在努力寻找一种方法将列表MyData 中的每个对象绑定到ListBox。
我想让 MyData 列表中的每个对象显示在显示名称的 ListBox 中。
我尝试将DataSource 设置为等于MyData 列表并将DisplayMember 设置为“名称”,但是当我将项目添加到MyData 列表时listbox 不会更新。
关于如何做到这一点的任何想法?
【问题讨论】:
-
是的,我试过了。但是,当我将项目添加到列表时,列表框不会更新。
-
winforms 不使用观察系统。因此,您必须将对象推送到列表框本身。
-
啊找到了。我需要使用 BindingList
而不是 List 。这允许 ListBox 在集合被修改时更新。
标签: c# winforms data-binding listbox