有没有办法让我的List<string>
与ComboBox
同步?
我想要的是我的ComboBox,根据List的变化自动更新它的内容。
我已尝试使用ComboBox.DataSource
属性,但这不会更新ComboBox,它只填充一次,那就是所有,所以......
答案 0 :(得分:4)
使用BindingSource对象。
List<string> list = new List<string>();
BindingSource bsource=new BindingSource();
//Set list dataSource
bsource.DataSource = list;
comboBox1.DataSource = bsource;
//Now add an element via Binding object
bsource.Add("One");
bsource.Add("Two");
或者您可以尝试创建IList的适配器包装器的ArrayList.Adapter方法。
ArrayList项目;
items=ArrayList.Adapter(comboBox1.Items);
items.Add("one");
答案 1 :(得分:2)
尝试将List<string>
替换为ObservableCollection<string>
。
答案 2 :(得分:1)
请查看示例:How to: Create and Bind to an ObservableCollection。
有关绑定来源的更多信息:Binding Sources Overview。
<强>更新强>
抱歉,我没有提到您使用的是Windows表单,因此请查看问题:WinForms ComboBox data binding gotcha。