WPF ListBox中的项目无法上移下移

System.InvalidOperationException:“元素已具有逻辑父级。将其附加到新的父级之前必须将其与旧父级断开。”

private void btn_up_Click(object sender, RoutedEventArgs e)
{
int count = lb_P.SelectedIndex;
if (count < 0)
{
return;
}
string str = lb_P.SelectedItem.ToString();
if (count > 0)
{
lb_P.Items[count] = lb_P.Items[count - 1];
lb_P.Items[count - 1] = str;
lb_P.SelectedIndex = count - 1;
}
}

同样是这段代码。在GUI设计的地方,选择lb_P(listbox)里面的listboxitem属性,里面添加项,使用以上代码“上移”时会报错。

但是如果是通过C#代码,在窗体initial之后通过listbox.items.add来添加的项目,就可以正常使用这个上移。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^