所以我有一个列表框和一个类。这个班叫做'使命'#39;并有三个属性:Name,IsStarted和IsCompleted。
我使用了BindingList并将Listbox的数据源设置为该BindingList。这很好,到目前为止没有问题。
我不知道该怎么做(我希望它可能)是将属性IsStarted和IsCompleted绑定到两个CheckBoxes,这样如果我更改了哪个Mission,那些CheckBox将会更改以反映SelectedItem的属性。
我很欣赏我可以通过在ListBox上使用SelectedItemChanged的事件来做到这一点,但是我希望有一个双向绑定,这样如果我要检查或取消选中CheckBox,那么类中的数据就会改变。 / p>
答案 0 :(得分:1)
您不需要使用事件,它足以使用数据绑定:
missionsListBox.DataSource = bindingList;
missionsListBox.DisplayMember = "Name";
isStartedCheckBox.DataBindings.Add("Checked", bindingList, "IsStarted");
isCompletedCheckBox.DataBindings.Add("Checked", bindingList, "IsCompleted")
这样,ListBox
将作为任务对象的索引,并显示任务列表。选择项目时,它会在相应的复选框控件中显示IsStarted
和IsCompleted
的值,您可以使用复选框更改所选项目的值。