How to display a clock with the current time in a Windows Core IoT app?

本小妞迷上赌 提交于 2019-12-20 02:58:07

问题


I am trying to create an Windows 10 IoT app running headless on a Raspberry Pi 2. Everything is set up correctly and I am able to debug my from Visual Studio using the Raspberry Pi as the remote machine for debugging.

Now I want to add a clock on the app page but I can't figure out how to keep the displayed time updated. In plain old C# I would use a BackgroudWorker or something similar to keep the displayed time current, but that type is not available in UWP.

I have been looking into "Create and register a background task" on MSDN but that seems to be way to complex, just to be able to keep the display time up to date.

So my question is: How can I - in the simplest posible way - create a clock display that is updated every time the time ticks?


回答1:


If your app is running headless, you will have to set data to a display device (LCD, LEDs, etc.). With a headed app, you will use a XAML page to display the clock. You can use a timer to get notified every time span occurs.

Timer declaration

ThreadPoolTimer _clockTimer = null;

Timer initialization

_clockTimer = ThreadPoolTimer.CreatePeriodicTimer(_clockTimer_Tick, TimeSpan.FromMilliseconds(1000));

Timer tick event

private void _clockTimer_Tick(ThreadPoolTimer timer)
{
    //Update your display. Use a dispatcher if needed
}

ThreadPoolTimer reference documentation

https://msdn.microsoft.com/en-us/library/windows/apps/xaml/windows.system.threading.threadpooltimer.aspx

Keep in mind that a Raspberry Pi does not have a battery to save the current time. Your board will have to sync through the Internet to update its date/time.



来源:https://stackoverflow.com/questions/34570755/how-to-display-a-clock-with-the-current-time-in-a-windows-core-iot-app

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!