我有一个 Grid 控件,单击每一行都会执行一些后台工作来加载数据。每个后台作业都在线程池线程上执行。当用户快速点击项目时,大量加载数据的请求将排队。我想通过在单击每一行后提供延迟来最小化这种情况。在触发加载数据的请求之前会有一些延迟。
我正在考虑使用DispatcherTimer类。就像是,
readonly DispatcherTimer dt = new DispatcherTimer();
private void Clicked(object sender, RoutedEventArgs e)
{
dt.Interval = TimeSpan.FromSeconds(2);
dt.Stop();
dt.Start();
}
private void DtOnTick(object sender, EventArgs args)
{
// Fire a thread and do data loading
}
这是解决问题的正确方法吗?
任何建议,将不胜感激!