В 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));
Где Timespan - это задержка, спасибо за любой ввод :)