Подтвердить что ты не робот

Есть ли таймер для Windows Phone 7?

Я пытаюсь впервые создать приложение для win phone 7 в первый раз - есть ли таймер, похожий на тот, который используется для winforms? Или есть способ получить такую ​​функциональность?

4b9b3361

Ответ 1

Вы можете использовать System.Windows.Threading.DispatcherTimer.

System.Windows.Threading.DispatcherTimer dt = new System.Windows.Threading.DispatcherTimer();
dt.Interval = new TimeSpan(0, 0, 0, 0, 500); // 500 Milliseconds
dt.Tick += new EventHandler(dt_Tick);
dt.Start();

void dt_Tick(object sender, EventArgs e)
{
        // Do Stuff here.
}

Ответ 2

DispatchTimer - хороший вариант, как Timer.

Стоит быть знакомым с различиями и оценкой, которая более подходит для вас.

Удобство (DispatchTimer для обновлений пользовательского интерфейса) или Точность (Таймер для предсказуемости) - это суть решения.

Timer Class (System.Threading)

DispatcherTimer Class (System.Windows.Threading)

DispatcherTimer переоценивается в вершины каждого цикла DispatcherTimer.

Таймеры не гарантируют выполнение точно, когда происходит интервал времени, но они гарантированно не выполняются до того, как произойдет интервал времени. Эта потому что операции DispatcherTimer помещаются на DispatcherTimer очередь, как и другие операции. Когда Выполняется операция DispatcherTimer. в зависимости от других заданий в очереди и приоритетов.

Если используется System.Threading.Timer, стоит отметить, что таймер работает на другой поток, тогда пользователь интерфейса (UI). Чтобы доступ к объектам в потоке пользовательского интерфейса, это необходимо отправить операцию на DispatcherTimer потока пользовательского интерфейса используя Dispatcher.BeginInvoke. Это не требуется при использовании DispatcherTimer.