Есть ли таймер управления для Windows Phone 7? - PullRequest
23 голосов
/ 16 июля 2010

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

Ответы [ 2 ]

46 голосов
/ 16 июля 2010

Вы можете использовать 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.
}
7 голосов
/ 26 октября 2010

DispatchTimer - хороший вариант, как и Таймер.

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

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

Класс таймера (System.Threading)

DispatcherTimer Class (System.Windows.Threading)

DispatcherTimer переоценивается в верхней части каждого цикла DispatcherTimer.

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...