将绑定列表绑定到组合框并删除项目

时间:2011-09-14 17:13:19

标签: winforms data-binding combobox bindinglist

我正在尝试使用Windows窗体数据绑定将组合框连接到ViewModel类。

var items = new BindingList<Person>();
comboBox.DataSource = items;
comboBox.DisplayMember = "Name";

除非我从列表中删除项目,否则一切正常。例如,如果我删除当前所选项目(在组合框中选择),则组合框的selectedIndexChanged和SelectedValueChanged事件不会触发。

1 个答案:

答案 0 :(得分:4)

找到答案。我不得不使用BindingSource作为中间人

  var bindingsSource = new BindingSource();
  bindingsSource.DataSource = new BindingList<Person>();
  comboBox1.DataSource = bindingsSource;
  comboBox1.DisplayMember = "Name";

这样,当我删除某些内容时,我确实会获得值更改的事件,甚至不止一个。