WPF绑定:限制绑定列表的更新

时间:2014-07-30 12:03:03

标签: wpf data-binding .net-4.0 system.reactive xamdatagrid

我将xamdatagrid绑定到list.But,因为列表上有太多的更新GUI卡住了。如何在一段时间后(比如说500 ms)停止这些更新并刷新网格。将使用Reactive extension的节流方法有用吗?

1 个答案:

答案 0 :(得分:1)

您可以使用DeferRefresh推迟绑定更新,直到您对集合进行修改为止:

using (collection.DeferRefresh())
{
    // Make changes to the collection
    ...
}

如果正在实时更新集合,您可以使用计时器定期更新绑定:

private IDisposable _deferral;
private void refreshTimer_Tick(object sender, EventArgs e)
{
    if (_deferral != null)
        _deferral.Dispose();

    _deferral = collection.DeferRefresh();
}