【发布时间】:2016-08-22 09:24:03
【问题描述】:
我尝试这样设置 CheckedListBox 的 DataSource:
private void Form1_Load(object sender, EventArgs e)
{
checkedListBox1.DisplayMember = "Name";
checkedListBox1.ValueMember = "Checked";
_bindingList = new BindingList<CustomBindingClass>(
new List<CustomBindingClass>
{
new CustomBindingClass {Checked = CheckState.Checked, Name = "Item1"},
new CustomBindingClass {Checked = CheckState.Checked, Name = "Item2"},
new CustomBindingClass {Checked = CheckState.Unchecked, Name = "Item3"},
});
checkedListBox1.DataSource = _bindingList;
}
它正在工作,但只是部分工作。以后可以休息了
_bindingList.RemoveAt(0);
或 _bindingList[0].Name = "TestTest"; 和 CheckedListBox 更新良好,但未检查项目。这不起作用
_bindingList[0].Checked=CheckState.Checked;
当我的CustomBindingClass 中的CheckedProperty 是bool 类型时,我也进行了测试,但也不起作用。有什么建议 ValueMember 属性的类型应该是什么?
【问题讨论】:
-
CustomBindingClass需要实现INotifyPropertyChanged(或其他任何名称)
标签: c# .net winforms data-binding checkedlistbox