我有一個網格控件,並單擊每行做一些後臺作業來加載數據。每個後臺作業都在線程池線程上執行。當用戶快速點擊這些項目時,很多加載數據的請求將排隊。我想通過點擊每一行後提供一個延遲來最小化這一點。在請求加載數據之前會有一些延遲。延遲執行 - C#WPF
我正在考慮使用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
}
這是解決問題的正確方法嗎?
任何建議,將不勝感激!
我認爲這將是更正確的聚集後臺操作的結果,如有必要,則延遲更新聚合過程中的綁定數據源。問題是你不希望用戶看到很多更新? – Jodrell 2011-05-16 14:29:51
或者是您每次點擊擊中數據庫的問題,並且想要結合各個查詢? – 2011-05-16 14:35:34
後臺工作做了很多COM調用,我不希望這種情況總是發生。 – 2011-05-16 16:08:03