Silverlight datagrid Observable集合发送通知列表

Silverlight datagrid Observable集合发送通知列表,silverlight,performance,datagrid,inotifypropertychanged,Silverlight,Performance,Datagrid,Inotifypropertychanged,在silverlight应用程序中,我使用datagrid。项目源是一个ObservableCollection,Customer对象实现INotifyPropertyChanged。问题是,从第二秒到第二秒,我会更新所有客户经过的时间。如果我在网格中有5000多条记录,这对性能是个问题 你知道在silverlight中是否可以有如下内容: _grid.SuspendLayout(); //update model _grid.ResumeLayout(); 。。。或挂起绑定 因为我只更新“已

在silverlight应用程序中,我使用datagrid。项目源是一个ObservableCollection,Customer对象实现INotifyPropertyChanged。问题是,从第二秒到第二秒,我会更新所有客户经过的时间。如果我在网格中有5000多条记录,这对性能是个问题

你知道在silverlight中是否可以有如下内容:

_grid.SuspendLayout();
//update model
_grid.ResumeLayout();
。。。或挂起绑定


因为我只更新“已用时间”列,所以我只想更新该列。。。不是整个网格。datagrid是否支持某些事件来接收更新列表?在这种情况下,也许我可以考虑实现我的自定义ObservableCollection。

您是否尝试过使用绑定模式而不是双向模式?如果使用OneTime,则可以通过保存上下文中的更改来决定手动刷新网格。您还可以使用
grid.BeginEdit()
grid.committedit()
控制编辑。我创建了一个小例子来重新介绍你的问题。我创建了一个小客户(只有名字和姓氏)和一个第二个计时器,该计时器通过调度程序计时器每秒更新一次。所有属性都会引发proeprties changed事件。DataGrid有一个自动生成列作为一个项目,可向6000名客户提供一个可观的集合。如果我更新秒数,则只调用秒数的getter,而不调用其他getter。。。因此,只更新秒列。我的网格在一段时间后变得有点慢,但这可能是,因为我为每个对象创建了一个调度程序。。。你能提供更多的代码吗?