ComboBox上的SelectionChanged事件仍显示为显示旧值。我需要获取它被更改为的值。有什么想法?。
目前在我使用的XAML代码上:
SelectionChanged="TxtProductFamily_SelectionChanged"
C#
private void TxtProductFamily_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
MessageBox.Show(TxtProductFamily.Text);
}
答案 0 :(得分:2)
如果您需要有关已选择/未选择内容的准确信息,那么Selector.SelectionChanged
事件会将SelectionChangedEventArgs
作为参数从中获取2个列表
获取包含已选择项目的列表。
获取包含未选中的项目的列表。
答案 1 :(得分: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;
}
}
}
您绑定的收集类型是什么?如果它是一个字符串集合,则需要在显示它之前先将其强制转换。
答案 2 :(得分:1)
ComboBox.Text在ComboBox.SelectionChange事件触发后更新。
通过ComboBox.SelectedItem \ ComboBox.SelectedValue获取值。