Я разрабатываю приложение Silverlight с пользовательскими анимациями. Я хочу обновить переменную animationCounter каждые 1 milissecond, так что за одну секунду значение равно 1000. Я пробовал DispatcherTimer и System.Threading.Timer. таким образом:Проблема с таймером Silverlight
DispatcherTimer timer = new DispatcherTimer(); (...)
timer.Interval = new TimeSpan(0, 0, 0, 0, 1);
timer.Tick += new EventHandler(timer_Tick); (...)
(...)
void timer_Tick(object sender, EventArgs e)
{
animationCounter++;
Dispatcher.BeginInvoke(() => txtAnimationCounter.Text = animationCounter.ToString());
}
с System.Threading.Timer
System.Threading timer = null;
timer = new System.Threading.Timer(UpdateAnimationCounter, 0, 1);
void UpdateAnimationCounter(object state)
{
animationCounter++;
Dispatcher.BeginInvoke(() => txtAnimationCounter.Text = animationCounter.ToString());
}
Оба они устанавливают AnimationCounter около 100 в одну секунду. Должно быть 1000. Я не знаю, почему. Я чего-то не хватает.
Благодаря
Я также не нашел документацию с разрешением 10 мс, но некоторые другие сайты намекали на нее. –
Спасибо. Я этого не знал. Да, я думаю, что разрешение 10 мс должно быть в порядке. Мне нужно это значение, чтобы запустить какое-то событие анимации при синхронизации. – jose