从observablecollection中删除行时出现错误,该observablecollection绑定到silverlight中的datagrid。
System.NullReferenceException:对象引用未设置为System.Collections.ObjectModel.ObservableCollection`1.RemoveItem(Int32 index)
中object.at的实例
if (GV.orderItemList.Contains(oOrdritem))
GV.orderItemList.Remove(oOrdritem);
第一次,我删除了一条记录,它的工作正常,第二次,它给出了上述异常
请帮助
答案 0 :(得分:1)
尝试使用RemoveAt而不是Remove,在某些情况下它适用于我。首先,您可以找到de item的索引:
int index = collection.IndexOf(item);
然后你尝试删除:
collection.RemoveAt(index);
答案 1 :(得分:1)
执行空检查:(或者几个,不确定代码的其余部分是什么样的,以便我执行所有操作)
if (GV != null && GV.orderItemList != null && oOrdritem != null && GV.orderItemList.Contains(oOrdritem))
GV.orderItemList.Remove(oOrdritem);
答案 2 :(得分:1)
我使用以下代码对问题进行了排序:
dgOrderItems.CommitEdit(DataGridEditingUnit.Row, true);
当前聚焦的行仍处于编辑模式,导致异常。