正如标题中所写,我正在尝试编写一段在所有UI任务之后执行的代码。我尝试使用Dispatcher
但没有成功,最后使用BackgroundWorker
Thread.Sleep(1000)
,这对我来说很危险。
代码段 - 使用BackgroundWorker:
BackgroundWorker bw2 = new BackgroundWorker();
bw2.DoWork += (o, e) => Thread.Sleep(1000);
bw2.RunWorkerCompleted += (o, e) => MyMethod();
bw2.RunWorkerAsync();
代码段 - 使用Dispatcher(在我需要时不执行):
Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.ApplicationIdle, new Action(() => MyMethod()));
我还尝试使用DispatcherPriority.Background