2013-03-22 135 views
6

我们的字典是这样的:如何获得的SelectedValue的价值组合框充满字典

var dictionary = new Dictionary<int, int> { { 0, 100 }, { 1, 202 }, { 2, 309 }, }; 

等很多价值观。字典绑定到组合框是这样的:

comboBox1.ItemsSource = dictionary; 
comboBox1.DisplayMemberPath = "Value"; 

我不知道如何可以得到这个组合框的SelectedValue,如果comboBox.Text仅适用于手动输入值,并验证码:

string value = comboBox1.SelectedValue.ToString(); 

返回值像[1,202],而我需要明确的int TValue“202”。我无法找到类似的问题,所以我在那里问它,并希望答案可能对其他人有用。

+0

使用此替代方法学习如何使用“字典或字典”创建'BindingSource'' http://stackoverflow.com/questions/6412739/binding-combobox-using-dictionary-as-the- datasource – MethodMan 2013-03-22 21:16:23

回答

8

看起来你要投SelectedValueKeyValuePair<int, int>

string value = ((KeyValuePair<int, int>)comboBox1.SelectedValue).Value.ToString(); 

但是,你应该把一个brakepoint那里检查一下是什么类型SelectedValue真的是。

我认为这是KeyValuePair<int, int>,因为您的源收集是Dictionary<int, int>,并且因为SelectedValue.ToString()的输出字符串,即[1, 202]

+0

辉煌!非常棒,非常感谢你!我会尽快接受你的回答。 – Mike 2013-03-22 21:17:17

+0

谢谢这是什么需要.... – Armaan 2015-12-12 08:38:24