【发布时间】:2014-06-07 20:42:31
【问题描述】:
我尝试在 Windows Phone 中创建每 10-15 毫秒更新一次的计时器(对于 UI 元素)。我希望有机会追加时间。所以我创建了 TimeSpan 和 DispatcherTimer,其中间隔 = 15 ms。因此,每 15 毫秒调用一次事件,其中我将 15 毫秒减去 timeSpan 并且当时间跨度
【问题讨论】:
-
你为什么使用 15 毫秒的间隔而不是你想要等待的全部时间(如果我理解正确的话是 4 秒)?在 UI 线程中调用需要一些时间,所以我想这就是导致延迟/不准确的原因。此外,使用 async/await 应该可以工作。
-
我每 15 毫秒为用户更新一次。它看起来不错。所以我使用 async await
async Task<bool> calculateTime() { timeRemaining -= TimeSpan.FromMilliseconds(tic);}比async void timer_Tick(object sender, EventArgs e) {var a = await calculateTime();} -
其中 tic = 15 timeRemaining = 4000
-
您能否将代码放入问题中,因为格式会更好。此外,计算时间似乎没有返回 bool 或 Task
?还有一个问题:你每 15 毫秒更新什么 - 一些 UI?
标签: c# windows-phone-8 windows-phone