0

是否有可能例如 - 编写一个后台服务,它随机更改 Windows Phone 主题,我的意思是是否可以通过代码在设置下访问 Windows Phone 主题?并改变它?

如果可以,请给我一个我可以使用的 API 示例或我可以 dl 的其他库

谢谢你

4

2 回答 2

0

不幸的是你不能。无法通过代码更改 Windows Phone 主题。唯一能做的就是用户。这是 Windows Phone 概念的一部分。

您唯一能做的就是定义在您自己的应用程序中使用的主题。关于这些坏消息我很遗憾...

于 2013-10-17T13:26:57.593 回答
0

您可以更改应用程序的主题。有一个Nuget 包可以让这变得更容易。您可以通过设置在应用程序打开时检查的属性来在后台任务中完成更改。

// background agent code
// get random value
IsolatedStorageSettings.ApplicationSettings["Theme"] = randomValue; // this is just a string or something simple
IsolatedStorageSettings.ApplicationSettings.Save();

当您的应用程序打开时,您将检查此值

var theme = "Standard"; 
if(IsolatedStorageSettings.ApplicationSettings.ContainsValue("Theme"))
{
    theme = IsolatedStorageSettings.ApplicationSettings["Theme"];
    // Set the theme
}

您可以通过从github下载源来修改主题管理器的源。这是有关主题管理器的更多信息。如果您想自己更改值,您可以通过在 papp 启动时设置资源值来完成此操作

((SolidColorBrush)Resources["PhoneAccentBrush"]).Color = myAccentBrush;
((SolidColorBrush)Resources["PhoneBackgroundBrush"]).Color = myBackgroundBrush;
((SolidColorBrush)Resources["PhoneChromeBrush"]).Color = myChromeBrush;
((SolidColorBrush)Resources["PhoneForegroundBrush"]).Color = myForegroundBrush;
于 2013-10-17T14:22:24.780 回答