如何在ComboBox中使用Dictionary填充SelectedValue的值

我们有这样的字典:

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

等等很多价值观。 字典绑定到comboBox,如下所示:

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

我想知道如果comboBox.Text仅适用于手动输入的值和此代码,我如何获得此comboBox的selectedvalue:

 string value = comboBox1.SelectedValue.ToString(); 

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

看起来你必须将SelectedValue KeyValuePair转换为KeyValuePair

 string value = ((KeyValuePair)comboBox1.SelectedValue).Value.ToString(); 

但是,你应该在那里放一个制动点并检查SelectedValue类型。

我假设它是KeyValuePair因为你的源集合是Dictionary ,因为SelectedValue.ToString()的输出字符串是[1, 202]