DispatcherTimer не работает в приложении uwp - PullRequest
0 голосов
/ 29 августа 2018

У меня на Raspberry Pi работает приложение UWP (Windows 10 IoT Core). Мне нужно время, чтобы я мог начать, остановить, проверить, работает ли он, и выполнить что-то после. DispatcherTimer, казалось бы, идеально подходил, если бы он бежал ...

Это мой код:

    public override void Run()
    {
        Debug.WriteLine("test1");

        SenseHat.Display.Clear();

        Debug.WriteLine("test2");

        _currentDirection = Direction.East;

        updatePositionTimer = new DispatcherTimer { Interval = TimeSpan.FromMilliseconds(500) };

        Debug.WriteLine("test3");

        updatePositionTimer.Tick += timer_Tick;

        Debug.WriteLine("test4");

Я добавил Writelines, чтобы увидеть, в какой строке происходит ошибка. В консоли я вижу test1 и test2, поэтому ошибка должна возникать при выполнении DispatcherTimer. Я не вижу никаких ошибок или исключений, кроме:

Исключение: «System.Exception» в [имя программы] .exe

Я провел некоторое исследование и нашел другой таймер, ThreadPoolTimer , но этот A) не работает, как указано, и B) не соответствует моим требованиям.

Что бы решить мою проблему?

EDIT

Вот что я хочу сделать с таймером:

while (true)
{
    if (!updatePositionTimer.IsEnabled)
    {
        updatePositionTimer.Start();
    }

    Sleep(TimeSpan.FromMilliseconds(2));
}
...