我想要做的就是比较列表框中的每个值,将其值与选定的值进行比较,然后将匹配索引设置为选定的值。
由于某种原因,标题中出现了异常。我不明白为什么。
码:

            foreach(SurfaceListBoxItem n in BackgroundsList.Items)
        {
            if (n.ToString() == current) BackgroundsList.SelectedItem = n;
        }


谢谢!

最佳答案

在WPF中,List.Items不一定包含ListBoxItem的集合,而是仅包含数据值,并且派生数据的Item Container要设置值,必须简单地将current设置为selected item。

无需重复,您只需执行以下操作,

BackgroundsList.SelectedItem = current;

关于c# - 无法将类型为“System.String”的对象强制转换为“..Controls.SurfaceListBoxItem”异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3308053/

10-13 03:48