有谁知道如何在WINRT应用程序中注册Locale或TimeZone更改?
答案 0 :(得分:1)
您可以使用后台任务在TimeZone更改时运行。
var builder = new BackgroundTaskBuilder();
builder.Name = "YourTask";
builder.TaskEntryPoint = "The.Background.Task.Implementation.Class";
builder.SetTrigger( new SystemTrigger( SystemTriggerType.TimeZoneChange, false ) );
builder.Register();
然而,您可能面临的主要问题是,在Windows 8中,时区将返回旧值,直到下次重新启动(尽管我不确定Windows 8.1是否更改了)。然后,访问TimeZone的真正新值的唯一方法是使用Win32 API - 特别是此函数http://msdn.microsoft.com/en-us/library/windows/apps/ms724421(v=vs.85).aspx