Событие SelectionChanged в ComboBox по-прежнему показывает старое значение. Мне нужно получить значение, на которое оно изменяется. Есть идеи?.
В настоящее время по коду XAML я использую:
SelectionChanged="TxtProductFamily_SelectionChanged"
С#
private void TxtProductFamily_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
MessageBox.Show(TxtProductFamily.Text);
}
Вы хотите использовать 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;
}
}
}
С какими типами вы связываетесь? Если это коллекция строк, вам нужно бросить ее сначала, прежде чем показывать ее.
Если вам нужна точная информация о том, что было выбрано/не выбрано, то событие Selector.SelectionChanged
дает вам SelectionChangedEventArgs
в качестве параметра, из которого вы можете получить 2 списка
AddedItems
которые
Получает список, содержащий элементы, которые были выбраны.
и RemovedItems
которые
Получает список, содержащий элементы, которые не были выбраны.
ComboBox.Text Обновлено после запуска события ComboBox.SelectionChange.
Получите значение с помощью ComboBox.SelectedItem\ComboBox.SelectedValue.