2012-10-22 29 views
2

.value的財產我用下面的代碼...獲取來自組合框

ComboboxItem item = new ComboboxItem(); 
item.Value = "M232M2333"; 
item.Text = "Apples"; 
comboSpriteSelect.Items.Add(item); 

這是一個例子,但在現實中,我從一個文本文件中讀取上百個這樣的值,並把它們應用到組合框。

當我使用.SelectedValue時,我似乎無法獲得.Value屬性,但是當我調試時,我發現該值已分配給組合框。

lbl1.Text = comboSpriteSelect.SelectedValue.ToString(); 

任何人都可以提供解決方案嗎?是因爲我沒有綁定數據嗎?

+0

lbl1.Text =(ComboboxItem)comboSpriteSelect.SelectedItem).Value.ToString();做的伎倆,謝謝你們! – MrBeanzy

回答

4

由於您有ComboboxItem object in combo items。從SelectedItem中獲取ComboboxItem並通過將SelectedItem強制轉換回ComboboxItem來獲取ComboboxItem類的值。

lbl1.Text = ((ComboboxItem)comboSpriteSelect.SelectedItem).Value; 

如果Value is not string,那麼你可能需要調用的ToString()就可以了

lbl1.Text = ((ComboboxItem)comboSpriteSelect.SelectedItem).Value.ToString(); 
+0

返回一個對象,而不是一個字符串? – MrBeanzy

+0

Try lbl1.Text =((ComboboxItem)comboSpriteSelect.SelectedItem).Value.ToString(); – Adil

+0

ComboboxItem什麼是類型的值? – Adil

3

那是因爲你不綁定。 MSDN Doc指出SelectedValueSelectedValuePath屬性確定,該屬性尚未在您的示例中設置。

使用

lbl1.Text = ((ComboboxItem)comboSpriteSelect.SelectedItem).Value; 

代替。

+0

返回一個對象,而不是一個字符串? – MrBeanzy

1

lbl1.Text = comboSpriteSelect.SelectedItem.ToString();相反的SelectedValue

覆蓋 ToString
+1

這只是返回文本值 – MrBeanzy

+0

拍攝,然後完全誤讀你的問題! – swabs

0

ComboboxItem

public override string ToString() 
{ 
    return Value; 
} 

,然後調用comboSpriteSelect.SelectedItem.ToString();將返回項的值;