2017-02-24 82 views
0

使用以下代碼,組合框cbAdditionalFields未在SelectedItem屬性中保存選定值。如何獲得組合框的選定項目屬性?和選擇改變不注重如何從組合框中獲取所選項目值

var userFields = recordType.UserFields.Where(u => u.Format == UserFieldFormats.String); 

cbAdditionalFields.DataSource = userFields.ToList(); 
cbAdditionalFields.DisplayMember = "Name"; 
+0

在'DataSource'之前設置'DisplayMember' –

回答

1

這可能會爲這樣的伎倆,你

private void cbAdditionalFields_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 
    // ... Get the ComboBox. 
    var comboBox = sender as ComboBox; 
    //string value = comboBox.SelectedItem as string; 
    UserField value = comboBox.SelectedItem as UserField; 
    Console.WriteLine(value.Name); 
} 

現在value包含ComboBox中當前選定的項目。

+0

SelectedItem沒有「Name」屬性,它顯示爲UserField類型的對象 – billboard

+0

查看更新後的答案@billboard。 :) –

0

您可以通過設置ComboBox的選定索引或選定值屬性來解決此問題。 cb.selectedIndex = 0;

+0

我收到一個錯誤「無法設置ListControl中的SelectedValue與一個空的ValueMember。」 – billboard

相關問題