Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#组合框使用字典值中的属性作为DisplayMember,字典值本身作为ValueMember_C#_Winforms - Fatal编程技术网

C#组合框使用字典值中的属性作为DisplayMember,字典值本身作为ValueMember

C#组合框使用字典值中的属性作为DisplayMember,字典值本身作为ValueMember,c#,winforms,C#,Winforms,我有一本字典,我正试图用它填充一个组合框。我的设置类有一个名为Symbol的字符串属性,这是我希望在下拉列表中显示的内容,我希望comboBox.SelectedItem成为设置对象。到目前为止,我已经尝试: comboBox.DataSource = dictionary.Values.ToList(); comboBox.DisplayMember = "Symbol"; comboBox.ValueMember = null; 及 我不需要为我正在做的事情绑定数据,我很乐意在构造函数中一

我有一本字典,我正试图用它填充一个组合框。我的设置类有一个名为Symbol的字符串属性,这是我希望在下拉列表中显示的内容,我希望comboBox.SelectedItem成为设置对象。到目前为止,我已经尝试:

comboBox.DataSource = dictionary.Values.ToList();
comboBox.DisplayMember = "Symbol";
comboBox.ValueMember = null;


我不需要为我正在做的事情绑定数据,我很乐意在构造函数中一次性添加所有内容,但是使用DataSource似乎比在dictionary.Values中循环更干净。提前感谢您的帮助。

您能否确认
Symbol
是一个带有getter的属性,而不仅仅是一个字段?您的ComboBox是否显示任何内容,或者它是否保持为空?是的,它是其基类中的一个公共属性。目前,我已通过迭代字典并将值添加到ComboBox.Items来解决此问题。然而,我仍然很好奇为什么我不能让它与数据绑定一起工作。
BindingSource bindingSource = new BindingSource();
bindingSource.DataSource = dictionary.Values.ToList();
comboBox.DataSource = bindingSource;
comboBox.DisplayMember = "Symbol";
comboBox.ValueMember = null;