How to get value of SelectedValue in ComboBox filled with Dictionary

c#, combobox, dictionary

Solution

Looks like you have to cast `SelectedValue` into `KeyValuePair<int, int>`:

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

However, you should put a brakepoint there and check what type `SelectedValue` really is.

I assume it's `KeyValuePair<int, int>` because your source collection is `Dictionary<int, int>` and because of output string for `SelectedValue.ToString()` which is `[1, 202]`.

Problem

We have dictionary like this: ``` var dictionary = new Dictionary<int, int> { { 0, 100 }, { 1, 202 }, { 2, 309 }, }; ``` and so on a lot of values. dictionary binded to comboBox like this: ``` comboBox1.ItemsSource = dictionary; comboBox1.DisplayMemberPath = "Value"; ``` I'm wonder how can I get selectedvalue of this comboBox, if comboBox.Text works only for manually inputted values and this code: ``` string value = comboBox1.SelectedValue.ToString(); ``` return value like [1, 202], while I need clear int TValue "202". I'm unable to find similar question so I ask it there and hope that the answer may be useful for someone else.

Original source

Related problems