Странно, что SelectedItem хранит свежие данные, а SelectedValue - нет. Похоже, ошибка для меня. Если ваши элементы в Combobox являются объектами, отличными от ComboBoxItems, вам потребуется что-то вроде этого: (мой ComboBox
содержит KeyValuePair
с)
var selectedItem = (KeyValuePair<string, string>?)(sender as ComboBox).SelectedItem;
if (!selectedItem.HasValue)
return;
string selectedValue = selectedItem.Value.Value; // first .Value gets ref to KVPair
ComboBox.SelectedItem
может быть нулевым, тогда как Visual Studio постоянно говорит мне, что KeyValuePair
не может быть нулевым. Вот почему я бросил SelectedItem
в обнуляемый KeyValuePair<string, string>?
. Затем я проверяю, имеет ли selectedItem
значение, отличное от null
. Этот подход должен быть применим к любому типу выбранного вами элемента.