在WPF中,由於界面更新的複雜性,我有時必須在短暫的延遲後執行操作。延遲調度調用?
目前我只是做這個:(?)
var dt = new DispatcherTimer(DispatcherPriority.Send);
dt.Tick += (s, e) =>
{
dt.Stop();
//DoStuff
};
dt.Interval = TimeSpan.FromMilliseconds(200);
dt.Start();
但它是既有點難看,也許太多的開銷每次創建一個新的計時器 什麼是從性能的角度來最好這樣做,即執行最迅速?什麼是改寫上面的代碼到類似好辦法:
this.Dispatcher.BeginInvoke(new Action(delegate()
{
//DoStuff
}), DispatcherPriority.Send,TimeSpan.FromMilliseconds(200));
如果時間跨度是延遲,感謝您的任何輸入:)
而不是更新前等待的東西,你能不能動責任將UI更新爲您正在等待的東西?這會避免定時器。 – x0n 2010-09-18 08:09:19
不幸的是,它是很酷的東西,如更新用戶界面並在短暫的延遲後隱藏它,所以當窗口再次顯示時更新窗口 – Homde 2010-09-18 08:26:03