Мне нужно активировать событие автоматически каждые несколько минут. Я знаю, что могу сделать это, используя Timers.Elapsed событие в приложениях Windows Forms, как показано ниже.UWP-эквивалент Timer.Elapsed event
using System.Timers;
namespace TimersDemo
{
public class Foo
{
System.Timers.Timer myTimer = new System.Timers.Timer();
public void StartTimers()
{
myTimer.Interval = 1;
myTimer.Elapsed += new System.Timers.ElapsedEventHandler(myTimer_Elapsed);
myTimer.Start();
}
void myTimer_Elapsed(object sender, EventArgs e)
{
myTimer.Stop();
//Execute your repeating task here
myTimer.Start();
}
}
}
Я гугле много и изо всех сил, чтобы найти то, что является эквивалентом этого в UWP.
Я верю, да, спасибо! Однако я бы попросил подробный ответ для других читателей, если можно. В противном случае это можно рассматривать как ответ [link only] (http://meta.stackexchange.com/q/8231/217907). Хотя, MSDN не собирается никуда в ближайшее время, я верю! –
@DevrajGadhavi отмечает, что DispatcherTimer запускает обратный вызов в потоке пользовательского интерфейса, поэтому он не совсем эквивалентен System.Timers.Timer. – Evk
@Evk, мне действительно может понадобиться его запустить в потоке пользовательского интерфейса. Что может быть основными недостатками в этом? Более того, любая другая подходящая альтернатива будет оценена как отдельный ответ. –