我如何从Silverlight.observablecollection中删除多个项目?在我的项目中,我有一个数据网格填充了多个项目。在每一行中还包含一个复选框。如果我通过选择复选框并单击“删除”按钮选择了多行,我想从集合中删除所有项目。
public void delete(object parameter)
{
foreach (var x in Book)
{
if (x.Ischeck == true)
{
Book.Remove(x);
}
}
}
它导致错误。无法更改observablecollection
最佳答案
您可以改用下面提到的代码段:
foreach (var x in Book.ToList())
{
if (x.Ischeck)
{
Book.Remove(x);
}
}
或者
for (int i = Book.Count - 1; i >= 0; i--)
{
if (Book[i].Ischeck)
{
Book.RemoveAt(i);
}
}