2017-02-24 23 views
0

次のコードでは、コンボボックスcbAdditionalFieldsはSelectedItemプロパティで選択した値を保持していません。どのようにコンボボックスの選択項目プロパティを取得するには?そして、選択にこれはあなたコンボボックスから選択した項目値を取得する方法

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); 
} 

のためのトリックを行う可能性があります

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

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

'DataSource'の前に' DisplayMember'を設定しました –

答えて

1

焦点を当てていない変更今valueコンボボックスで現在選択されている項目が含まれています。

+0

SelectedItemは "Name"プロパティを持たず、タイプUserFieldのオブジェクトとして表示されています – billboard

+0

更新された回答@billboardを見てください。 :) –

0

ComboBoxの選択したインデックスまたは選択した値のプロパティを設定することで、この問題を解決できます。 cb.selectedIndex = 0;

+0

空のValueMemberでListControlでSelectedValueを設定できないというエラーが表示されます。 – billboard

関連する問題