【问题标题】:Silverlight datagrid Observable collection send a list of notificationsSilverlight datagrid Observable 集合发送通知列表
【发布时间】:2011-09-10 23:27:02
【问题描述】:

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

你知道是否有可能在 silverlight 中有类似的东西:

_grid.SuspendLayout();
//update model
_grid.ResumeLayout();

... 或暂停绑定。

由于我只更新经过时间列,我只想更新该列...而不是整个网格。数据网格是否支持某些事件来接收更新列表?在这种情况下,也许我可以考虑实现我的自定义 ObservableCollection。

【问题讨论】:

  • 嗨。我创建了一个小示例来重现您的问题。我创建了一个小客户(只有姓名和姓氏)和第二个计时器,该计时器每秒通过 Dispatcher Timer 更新。所有属性都会引发属性更改事件。 DataGrid 具有 AutoGenerateColumns 作为 ItemsSource 和 ObservableCollection 以及 6000 个客户。如果我更新秒只调用秒的吸气剂,没有其他吸气剂......所以只有秒列被更新。一段时间后,我的 Grid 变得有点慢,但这可能是因为我为每个对象创建了一个 Dispatcher……你能提供更多代码吗?

标签: silverlight performance datagrid inotifypropertychanged


【解决方案1】:

您是否尝试过使用OneTime 绑定模式而不是TwoWay?如果您使用 OneTime,您可以决定通过保存对上下文的更改来手动刷新网格。您还可以使用grid.BeginEdit()grid.CommitEdit() 控制编辑。

【讨论】:

    猜你喜欢
    • 2013-12-17
    • 1970-01-01
    • 2012-12-21
    • 1970-01-01
    • 1970-01-01
    • 2011-01-02
    • 2015-11-18
    • 1970-01-01
    • 2010-10-13
    相关资源
    最近更新 更多