2013-03-22 32 views
6

dolu ComboBox SelectedValue değerini almak için:Nasıl böyle sözlüğü Sözlük

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

ve böylece değerlerin çok üzerinde. Böyle combobox binded sözlüğü: Ben comboBox.Text elle girilen değerler için çalışır eğer, bu ComboBox SelectedValue nasıl alabilirim acaba olduğum

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

ve bu kodu:

string value = comboBox1.SelectedValue.ToString(); 

dönüş değeri [1, 202] gibi, net int TValue "202" ye ihtiyacım var. Benzer bir soru bulamıyorum, o yüzden orada soruyorum ve cevabın başka biri için yararlı olabileceğini umuyorum.

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

Ancak, orada bir brakepoint koymak ve SelectedValue gerçekten ne tür kontrol etmelisiniz: Eğer KeyValuePair<int, int> içine SelectedValue döküm zorunda gibi

+0

bir 'Sözlük veya Dictionaryt ' http://stackoverflow.com/questions/6412739/binding-combobox-using-dictionary-as-the- kullanarak 'BindingSource' oluşturma öğrenerek alternatif olarak kullan veri kaynağı – MethodMan

cevap

8

görünüyor.

Ben kaynak toplama Dictionary<int, int> olduğu için KeyValuePair<int, int> varsayıyorum çünkü [1, 202] olduğunu SelectedValue.ToString() için çıktı dizesinin.

+0

Parlak! Harika çalışıyor, çok teşekkür ederim! Cevabınızı en kısa zamanda kabul edeceğim. – Mike

+0

teşekkürler bu ne .... – Armaan