Wpf 删除多个项目并从ListView ObserverCollection中删除所有项目

Wpf 删除多个项目并从ListView ObserverCollection中删除所有项目,wpf,listview,c#-4.0,listviewitem,Wpf,Listview,C# 4.0,Listviewitem,我可以通过以下方式从图像的ListView中删除所选项目: private void Delte_Photo_Click(object sender, RoutedEventArgs e) { if (ListViewImage.SelectedItem == null) { MessageBox.Show("Please select an image to be removed...");

我可以通过以下方式从图像的ListView中删除所选项目:

private void Delte_Photo_Click(object sender, RoutedEventArgs e)
        {
            if (ListViewImage.SelectedItem == null)
            {
                MessageBox.Show("Please select an image to be removed...");
                return;
            }

            ImageFileCollectionViewModel viewModel = ListViewImage.DataContext as ImageFileCollectionViewModel;
            if (viewModel != null)
            {
                ImageFileViewModel image = ListViewImage.SelectedItem as ImageFileViewModel;//ListViewImage is the listBox
                if (image != null)
                {
                    //remove physical file from disk:
                    File.Delete(image.FileName);
                    //remove item from ObservableCollection:
                    viewModel.AllImages.Remove(image);
                }
            }
        }
如何删除多个图像?
如何删除所有图像?通过按钮单击。

通过foreach迭代您的图像集合

foreach(var image in viewModel.AllImages.ToList()){
    File.Delete(image.FileName);
    viewModel.AllImages.Remove(image);
}
要一次删除多个实例,请执行以下操作:

        // let's say these are the positions of your items to remove
        var positions = new List<int>() { 1, 4, 6 };
        var list = viewModel.AllImages.ToList();

        // this removes all objects on the given index
        foreach (var position in positions)
        {
           list.RemoveAt(position);
        }
//假设这些是要删除的项目的位置
var positions=newlist(){1,4,6};
var list=viewModel.AllImages.ToList();
//这将删除给定索引上的所有对象
foreach(位置中的var位置)
{
列表。移除(位置);
}

如果要按objectreference删除,请遍历要删除的对象集合。

我遇到了以下错误:集合已修改;枚举操作可能无法执行。我找到了一个适合我的解决方案。调用
可观察集合的
ToList()
。告诉我它是否有效。:/code>viewModel.AllImages.ToList()中的var image。如何删除多个项目?谢谢:您能告诉我如何从磁盘和observablecollection中删除它吗?谢谢。您不使用File.Delete将其从磁盘中删除,并使用.RemoveAt从集合中删除吗?这不管用吗?还是你想一步到位?