Visual Studio 2012 - Windows 8 Metro App。我已经实现了Timer来显示我的应用程序中的当前时间。它正如预期的那样在代码
下工作ThreadPoolTimer.CreatePeriodicTimer(async (timer) =>
{
this.Dispatcher.RunAsync(CoreDispatcherPriority.Low,
() =>
{
this.tbDigitalClock.Text = DateTime.UtcNow.ToString("MM/dd/yyyy HH:mm") + " UTC";
});
}, TimeSpan.FromSeconds(60));
最小化并等待5分钟后最大化应用程序窗口。我注意到与当前时间相比,应用程序中的时间少于5分钟。
不确定为什么我会看到这个时差。可能是后台线程在UI处于非活动状态时无法绑定UI元素吗?
注意:这在Windows 10中运行正常,但在Windows 8中无效。
答案 0 :(得分:0)
使CoreDispatcherPriority从低到正常也可以在Windows 8中运行。
<强> CoreDispatcherPriority.Normal 强>