Получение SelectedItem из ошибки ComboBox - PullRequest
1 голос
/ 21 октября 2011

Я пытаюсь получить выбранное значение поля со списком, но у меня возникла странная проблема.

Я пробовал:

myCombo.SelectedItem.ToString() и я возвращаю значение:

System.Windows.Controls.ComboBoxItem: myValue.

Я тогда попробовал:

ComboBoxItem item = ((ComboBoxItem)myCombo.selectedItem);
item.content.toString();

Это работает нормально, если выбранный индекс равен 0 или 1. Однако, если выбран любой из других индексов, он отображает исключение:

InvalidCastException не обработан. Невозможно обработать объект типа 'System.String' для ввода 'System.Windows.Controls.ComboBoxItem'

Единственная разница между индексами 0 и 1 и остальными состоит в том, что индексы 0 и 1 добавляются вручную через XAML, тогда как остальные добавляются программно из запроса к базе данных, как показано ниже:

string myValue = reader["my_table_column"].toString();
myCombo.Items.Add(myValue);

Спасибо за любую помощь, вы можете предоставить

UPDATE Как просит Уэйн Таннер ниже, это фрагмент XAML для поля со списком

<ComboBox Height="23" HorizontalAlignment="Left" Margin="26,6,0,0" Name="cboIVRGroup" SelectedIndex="0" VerticalAlignment="Top" Width="143" SelectionChanged="cboIVRGroup_SelectionChanged">
                    <ComboBoxItem Content="All IVRs" />
                    <ComboBoxItem Content="Unassigned IVRs" />
                </ComboBox>r the combo box

Ответы [ 2 ]

0 голосов
/ 21 октября 2011

Программно добавленные могут быть добавлены как XAML:

string myValue = reader["my_table_column"].toString();
ComboBoxItem item = new ComboBoxItem();
item.Content = myValue;
myCombo.Items.Add(item);
0 голосов
/ 21 октября 2011

Вы должны иметь возможность использовать свойство SelectedValue для получения фактической выбранной строки.

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