c# - SelectionChanged 显示旧值

标签 c# wpf

ComboBox 上的 SelectionChanged 事件似乎仍然显示旧值。我需要获取它被更改为的值。有什么想法吗?

目前在我使用的 XAML 代码上:

SelectionChanged="TxtProductFamily_SelectionChanged"

C#

private void TxtProductFamily_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
MessageBox.Show(TxtProductFamily.Text);
}

最佳答案

您想在 EventArgs 中使用 AddedItems

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;
        }
    }
}

您要绑定(bind)到什么集合类型?如果它是一个字符串集合,则需要先对其进行转换,然后再显示它。

关于c# - SelectionChanged 显示旧值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23855943/

相关文章:

c# - 一种在关闭上一个窗口的同时打开新窗口的方法

c# - wpf MvvM 命令数据上下文问题

c# - 如何绑定(bind)到 ObservableCollection 的一个元素

c# - 设置/更新 aspxauth 和 asp.net_sessionid cookie 的过期时间

c# - 如何从模态窗口调用 WPF 主窗口的方法?

WPF 应用程序在第一次 WCF 调用时卡住

c# - 如何处理来自 BackgroundWorker 线程的异常?

c# - 创建 md5 哈希(盐+值)

C# - 在哪里放置接口(interface)扩展?

c# - C# 中的 "Object cannot be cast from DBNull to other types"