当源为空时,C#Combobox绑定到词典有1个项目

时间:2014-08-14 12:23:59

标签: c# dictionary combobox bindingsource

我在Windows窗体中有以下代码

Dictionary<String, String> dict = new Dictionary<string, string>();
ComboBox cbo = new ComboBox();
cbo.DisplayMember = "Key";
cbo.ValueMember = "Value";  // Not used
this.Controls.Add(cbo);
BindingSource bind = new BindingSource(dict, null);
cbo.DataSource = bind;
int count = cbo.Items.Count;

为什么在我的情况下,最后的数字是1?

如果我把数据放在字典中,一切都很好。

修改 解决方案在答案的评论中(直到我们更好)

1 个答案:

答案 0 :(得分:1)

您可以尝试更改行:

BindingSource bind = new BindingSource(dict, null);
cbo.DataSource = bind;

为:

BindingSource bind = new BindingSource();
bind.DataSource = dict;
cbo.DataSource = bind;

我试过了,cbo.Items.Count的结果是0。