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.
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]
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With