从绑定到数据网格Silverlight的observablecollection中删除项目?

时间:2012-02-08 11:10:05

标签: c# silverlight datagrid observablecollection

从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);

第一次,我删除了一条记录,它的工作正常,第二次,它给出了上述异常

enter image description here

请帮助

3 个答案:

答案 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);

当前聚焦的行仍处于编辑模式,导致异常。