Muszę uruchamiać zdarzenie automatycznie co kilka minut. Wiem, że mogę to zrobić przy użyciu zdarzenia Timers.Elapsed w aplikacjach Windows Forms, jak poniżej.Odpowiednik UWP zdarzenia Timer.Elapsed
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();
}
}
}
Mam wiele razy googlowałem i próbowałem znaleźć odpowiednik w UWP.
Wierzę, że tak, dziękuję! Chciałbym jednak poprosić o szczegółową odpowiedź dla innych czytelników, jeśli możesz. W przeciwnym razie można to uznać za odpowiedź [tylko link] (http://meta.stackexchange.com/q/8231/217907). Mimo wszystko, MSDN nigdzie się nie wybiera w najbliższym czasie, jak sądzę! –
@DevrajGadhavi zauważ, że DispatcherTimer uruchamia wywołanie zwrotne w wątku UI, więc nie jest to dokładnie odpowiednik System.Timers.Timer. – Evk
@Evk, może będę go potrzebował do uruchomienia w wątku interfejsu użytkownika. Jakie mogą być największe wady? Co więcej, każda inna odpowiednia alternatywa zostanie uznana jako osobna odpowiedź. –