SelectionChanged показывает старое значение

1

Событие SelectionChanged в ComboBox по-прежнему показывает старое значение. Мне нужно получить значение, на которое оно изменяется. Есть идеи?.

В настоящее время по коду XAML я использую:

SelectionChanged="TxtProductFamily_SelectionChanged"

С#

private void TxtProductFamily_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
MessageBox.Show(TxtProductFamily.Text);
}
Теги:
wpf

3 ответа

2
Лучший ответ

Вы хотите использовать AddedItems в EventArgs.

private void TxtProductFamily_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    foreach (var addedItem in e.AddedItems)
    {
        var item = addedItem as String; // <-- Cast to whatever type here, string, ViewModel, int, etc.
        if (item != null)
        {
            MessageBox.Show(item);
            break;
        }
    }
}

С какими типами вы связываетесь? Если это коллекция строк, вам нужно бросить ее сначала, прежде чем показывать ее.

  • 1
    Спасибо всем - сработало угощение.
2

Если вам нужна точная информация о том, что было выбрано/не выбрано, то событие Selector.SelectionChanged дает вам SelectionChangedEventArgs в качестве параметра, из которого вы можете получить 2 списка

AddedItems которые

Получает список, содержащий элементы, которые были выбраны.

и RemovedItems которые

Получает список, содержащий элементы, которые не были выбраны.

1

ComboBox.Text Обновлено после запуска события ComboBox.SelectionChange.

Получите значение с помощью ComboBox.SelectedItem\ComboBox.SelectedValue.

  • 0
    Извините, но я не следую за вами.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню