グリッドコントロールがあり、各行をクリックすると、データをロードするためのバックグラウンドジョブが実行されます。各バックグラウンドジョブは、スレッドプールスレッドで実行されます。ユーザーがアイテムをすばやくクリックすると、データをロードするための多くのリクエストがキューに入れられます。各行をクリックした後に遅延を提供することで、これを最小限に抑えたいと思います。データをロードするリクエストを実行する前に、多少の遅延が発生します。
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
}
これは問題に取り組む正しい方法ですか?
任意の提案をいただければ幸いです!