本帖最后由 wanglz666 于 2013-03-27 19:48:20 编辑

解决方案 »

  1.   

    itemsToRemove中的数据怎么绑定的?
      

  2.   

    不是
    当删除两个或以上的items时,都仅仅是在删除最后一个时报错
      

  3.   

    itemsToRemove = this.items.Where(x => x.IsSelect).ToList()
    itemsToRemove仅仅是items中一部分元素的copy,并不绑定到UI
      

  4.   

    用你的方法我简单测试了下,貌似是可以的
    List<Student> items = new List<Student>();
                items.Add(new Student("张三", 18));
                items.Add(new Student("李四", 20));
                items.Add(new Student("王五", 21));
                items.Add(new Student("赵六", 19));            List<Student> itemsCopy = items.Where(x => x.age > 19).ToList();            foreach (var item in itemsCopy)
                {
                    items.Remove(item);
                }
      

  5.   

    确实,实验之后发现,只能从后往前删除,并且是依次单个删除。
    这样便不会报错。
    可是这是什么原因呢?
    该如何解决呢?从StackTrace看来,错误应是出在画布(即显示items的地方)重新布局时,似乎与绑定有关。