我将xamdatagrid绑定到一个列表。但是由于列表上有太多的更新,GUI就卡住了。如何停止这些更新并在间隔(比如500毫秒)后刷新网格?反应扩展的节流方法有用吗?
您可以使用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();
}