Silverlight应用程序在绑定到网格的清除列表上引发空引用异常

Silverlight应用程序在绑定到网格的清除列表上引发空引用异常,silverlight,grid,infragistics,Silverlight,Grid,Infragistics,在Silverlight应用程序中,我将一个ObservableCollection绑定到网格 但当我编辑网格的行时,我将更新的数据保存在db中,清除网格的可观察集合,并在其中重新插入新值 但当我试图清除observable集合时,它抛出了一个错误“对象引用未设置为对象的实例” 我有什么遗漏吗 代码: 异常的堆栈跟踪 在 Infragistics.AutomationPeers.CellsPanelAutomationPeer.Row_PropertyChanged(对象 发件人,Propert

在Silverlight应用程序中,我将一个ObservableCollection绑定到网格

但当我编辑网格的行时,我将更新的数据保存在db中,清除网格的可观察集合,并在其中重新插入新值

但当我试图清除observable集合时,它抛出了一个错误“对象引用未设置为对象的实例”

我有什么遗漏吗

代码:

异常的堆栈跟踪

在 Infragistics.AutomationPeers.CellsPanelAutomationPeer.Row_PropertyChanged(对象 发件人,PropertyChangedEventArgs e)\r\n位于 System.ComponentModel.PropertyChangedEventHandler.Invoke(对象 发件人,PropertyChangedEventArgs e)\r\n位于 Infragistics.RecyclingContainer
1.OnPropertyChanged(字符串名称)\r\n
在Infragistics.Controls.Grids.Row.SetSelected(布尔isSelected)\r\n 在 Infrastics.Controls.Grids.Row.Infrastics.ISelectableObject.SetSelected(布尔值 isSelected)\r\n位于 基础设施。控件。网格。SelectedCollectionBase
1。内部删除项(Int32 索引)\r\n位于 基础设施。控件。网格。SelectedCollectionBase
1。RemoveItem(Int32
索引)\r\n位于Infragistics.Collections.CollectionBase
1.Remove(T 项目)\r\n位于 Infrastics.Controls.Grids.RowsManager.InvalidateSelection和Activation(布尔值) validateInList,布尔无效选择)\r\n位于 Infragistics.Controls.Grids.RowsManager.InvalidateItemSource(布尔值) 无效选择)\r\n位于 Infragistics.Controls.Grids.RowsManager.DataManager\u CollectionChanged(对象 发件人,NotifyCollectionChangedEventArgs e)\r\n位于 Infrastics.DataManagerBase.OnCollectionChanged(NotifyCollectionChangedEventArgs e) \r\n在 Infragistics.DataManagerBase.OnDataSourceCollectionChanged(NotifyCollectionChangedEventArgs e) \r\n在 Infragistics.DataManager
1.OnDataSourceCollectionChanged(NotifyCollectionChangedEventArgs
e) \r\n在
Infragistics.DataManagerBase.DataSource\u CollectionChanged(对象
发件人,NotifyCollectionChangedEventArgs e)\r\n位于
System.Collections.ObjectModel.ObservableCollection
1.OnCollectionChanged(NotifyCollectionChangedEventArgs e) \r\n在 System.Collections.ObjectModel.ObservableCollection
1.ClearItems()\r\n
位于System.Collections.ObjectModel.Collection
1.Clear()\r\n位于


对于列表为
MyList
的类中的任何
属性
,您是否实现了
OnPropertyChanged
?是的,我实现了public observeCollection MyList{get{if(_MyList==null){{u MyList=newobserveCollection();}返回{u MyList;}设置{{u MyList=value;this.RaisePropertyChanged(p=>p.MyList)}我已经为集合本身实现了OnPropertyChanged,在您的
OnPropertyChanged
函数中,您可以检查处理程序是否为null吗?
var handler=PropertyChanged;if(handler!=null)处理程序(这是新的PropertyChangedEventArgs(propertyName))
只有在编辑和保存后尝试清除集合时才会抛出错误…否则它会工作…我在同一代码上也有“刷新”按钮“获取执行”,但在编辑和保存后尝试清除和重新填充集合时,我会尝试清除并重新填充集合,但在清除其抛出错误时
MyList.Clear();