Я пытаюсь создать таймер для своего современного приложения пользовательского интерфейса C#/Xaml (Windows 8.1).
Я уже видел этот пост: Как мы устанавливаем таймеры в приложении WinRT? Решение, приведенное в этой ссылке, работает для меня. DispatcherTimer работает нормально.
Но моя проблема не там. Я не понимаю, почему это решение не работает:
Мой код:
//First Try
System.Threading.AutoResetEvent autoEvent = new System.Threading.AutoResetEvent(false);
StatusChecker statusChecker = new StatusChecker(MyList);
System.Threading.TimerCallback tcb = statusChecker.CheckStatus;
//System.Threading.Timer myTimer = new System.Threading.Timer(tcb, autoEvent, 0, 5000);
System.Threading.Timer theTimer = new System.Threading.Timer(CheckStatus, autoEvent, 0, 5000);
Я поместил его в конструктор MainPage. TimerTick запускает CheckStatus, который запускает Debug.WriteLine().
Я полагал, что Threading.Timer будет установлен в другом потоке, чем поток пользовательского интерфейса, но когда я нажимаю кнопку, таймер перестает работать.
Кто-нибудь знает, почему?