c#winforms绑定ListBox SelectedItem的属性

时间:2017-04-29 19:22:51

标签: c# winforms listbox

所以我有一个列表框和一个类。这个班叫做'使命'#39;并有三个属性:Name,IsStarted和IsCompleted。

我使用了BindingList并将Listbox的数据源设置为该BindingList。这很好,到目前为止没有问题。

我不知道该怎么做(我希望它可能)是将属性IsStarted和IsCompleted绑定到两个CheckBoxes,这样如果我更改了哪个Mission,那些CheckBox将会更改以反映SelectedItem的属性。

我很欣赏我可以通过在ListBox上使用SelectedItemChanged的事件来做到这一点,但是我希望有一个双向绑定,这样如果我要检查或取消选中CheckBox,那么类中的数据就会改变。 / p>

1 个答案:

答案 0 :(得分:1)

您不需要使用事件,它足以使用数据绑定:

missionsListBox.DataSource = bindingList;
missionsListBox.DisplayMember = "Name";
isStartedCheckBox.DataBindings.Add("Checked", bindingList, "IsStarted");
isCompletedCheckBox.DataBindings.Add("Checked", bindingList, "IsCompleted")

这样,ListBox将作为任务对象的索引,并显示任务列表。选择项目时,它会在相应的复选框控件中显示IsStartedIsCompleted的值,您可以使用复选框更改所选项目的值。