我正在为 Windows Phone 8 创建一个应用程序,并且我想更改主题颜色,而不管用户在手机操作系统中设置的主题如何,就像其他应用程序(例如 Skype)执行此操作一样。
到目前为止,我只能通过访问 XAML 中的 LayoutRoot 元素来更改背景颜色:
this.LayoutRoot.Background = new SolidColorBrush(Colors.White);
和前景色:
(App.Current.Resources["PhoneForegroundBrush"] as SolidColorBrush).Color = Colors.Green;
但是,以下内容在 Windows Phone 8 上不起作用:
(App.Current.Resources["PhoneBackgroundBrush"] as SolidColorBrush).Color = Colors.White;
(App.Current.Resources["PhoneAccentBrush"] as SolidColorBrush).Color = Colors.Yellow;
我不知道为什么我不能改变PhoneBackgroundBrush
or the PhoneAccentBrush
我已经尝试过谷歌搜索解决方案,但它们仅适用于 Windows Phone 7 SDK。教程here适用于 WP 7,但不适用于 WP 8。
谢谢你!
法布里斯绝对走在正确的道路上。获取默认的 PhoneAccentBrush 并更改其颜色是可行的方法。
将此代码添加到应用程序构造函数的末尾,它将覆盖应用程序的 WP8 强调色:
Resources.Remove("PhoneAccentColor");
Resources.Add("PhoneAccentColor", Colors.Magenta);
((SolidColorBrush)Resources["PhoneAccentBrush"]).Color = Colors.Magenta;
当我们运行此代码并单击<Button />
你可以看到新的强调色:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)