您正在使用C#和xaml开发Windows Phone 8应用。 我以前的团队开发了一些代码,他们在定时器控制中使用了很多方法。 当它正在更新时,所有方法都在调用并阻塞UI。 有没有其他方法可以异步使用计时器,因此无法阻止UI。 提前致谢
答案 0 :(得分:0)
您应该使用“xaml绑定”来更新UI
答案 1 :(得分:0)
Windows Phone中有几个Timer类。
System.Windows.Threading.DispatcherTimer
:在UI线程上运行,并在执行时使UI无响应。
System.Threading.Timer
:在ThreadPool线程上执行,因此无法直接更新UI。有关如何进行跨线程调用以更新UI的示例,请参阅链接中的示例。
还有一个ThreadPoolTimer
,似乎就像System.Threading.Timer
一样 - 在ThreadPool线程上运行,只是有不同的方法。但是我还没用过它。
因此,要回答您的问题,如果计时器事件阻止了用户界面,则可能是DispatcherTimer
,将其替换为System.Threading.Timer
,请参考上一个链接中的代码示例。
答案 2 :(得分:0)
您是否尝试使用DispatcherTimer
?
How to Increment timer asynchronously ?
否则你可以使用CountdownTimer
。
How do you run a synchronous timer in C#?
正如@kennyzx所说,有很多方法可以做到,但选择权在你手中。