代码之家  ›  专栏  ›  技术社区  ›  Raja Rajendraprasath

最小化应用程序后计时器时钟不滴答作响-Windows 8 Metro应用程序

  •  0
  • Raja Rajendraprasath  · 技术社区  · 9 年前

    Visual Studio 2012-Windows 8 Metro应用程序。我已经实现了计时器来在我的应用程序中显示当前时间。它正在按预期工作,如下代码所示

    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中不工作。

    1 回复  |  直到 9 年前
        1
  •  0
  •   Raja Rajendraprasath    9 年前

    将CoreDispatcherPriority从低变为正常也使其在Windows 8中工作。

    CoreDispatcherPriority.正常