Получение выбранного объекта из Combox's selectedItem? - PullRequest
0 голосов
/ 13 сентября 2011

Я сталкиваюсь с, казалось бы, простой проблемой, но, похоже, не могу ее обойти> _ <</p>

У меня есть comboBox, заполненный myCustomObjects (программно). Когда я нажимаю на кнопку, я хочу захватить текущий выбранный myCustomObject и поместить его в другой список. Как мне это сделать? myComboBox.SelectedItem возвращает comboBoxItem вместо myCustomObject.

Ответы [ 3 ]

2 голосов
/ 13 сентября 2011

Свойство SelectedItem возвращает весь объект, с которым связан ваш список.Он возвращает объект, и вы можете привести его к своему собственному типу.

if (myComboBox.SelectedItem is MyObjectType)
{
   MyObjectType myObj =  (MyObjectType)myComboBox.SelectedItem;
}

РЕДАКТИРОВАТЬ

Если вы заполняете элементы программным способом, вы должны либо пометить фактический объект каксвойство ComboBoxItem.Tag или получите myComboBox.SelectedValue и найдите соответствующий элемент из списка элементов.

Надеюсь, что это то, на что стоит обратить внимание: Разница между SelectedItem, SelectedValue и SelectedValuePath

1 голос
/ 13 сентября 2011

Ваш ComboBox.SelectedItem привязывается к ComboBoxItem, потому что вы, вероятно, не установили ComboBox.ItemsSource для своей коллекции объектов. Вместо этого я думаю, что вы добавляете свои объекты вручную как ComboBoxItems. Если вы привяжете ItemsSource к вашей коллекции, SelectedItem вернет ваш объект.

0 голосов
/ 13 сентября 2011

ComboBoxItem.Tag или ComboBoxItem.Content должны содержать желаемое значение.Вы также можете проверить, работает ли ComboBox.SelectedValue для вас

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...