wpf - 如何从 WPF ListView 中删除多个选定项?

标签 wpf listview user-interface

我有一个 WPF ListView,里面有很多项目。当我选择其中的几个时,我希望能够通过一个按钮将它们删除。我遇到的问题是我可以从 ListView 中删除一个项目,但是当我第二次迭代时,我得到一个:

集合已修改;枚举操作可能不会执行。

错误是因为最后一次删除修改了 ListViewItemSource。做这个的最好方式是什么?我尝试制作所选项目的副本,但我不知道要使用哪种类型。

最佳答案

将所选项目的集合保存在不会更改的局部变量中,然后您可以毫无问题地对其进行迭代。

例如

var selected = lv.SelectedItems.Cast<Object>().ToArray();
foreach (var item in selected) lv.Items.Remove(item); // or whereever you need to remove them...

( Cast<T> ToArray extension methods )

关于wpf - 如何从 WPF ListView 中删除多个选定项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8928503/

相关文章:

wpf - 如何将我的 RoutedCommand 处理程序从 View-codebehind 移动到 ViewModel?

.net - WPF 网格 SharedSizeGroup 错误

Android - 无法使用编辑文本字符串的过滤结果更新 ListView

java - 我希望我的图形用户界面接受一个整数

android - RTL 支持 : Disabling it only for specific UI components

c# - XAML 更改 Togglebutton 内的图像源

c# - 我如何检查在 PropertyChanged 事件中更改了哪个属性

java - Android项目中的错误

listview - Flutter - 在使用 StreamBuilder 从 firebase 获取数据后,如何使用 ScrollController 跳转到 ListView 的底部?

jquery UI datepicker 隐藏日期选择器