更改Windows应用商店8.1应用程序中的单个主题颜色
本文关键字:单个主 颜色 应用程序 应用 Windows 更改 | 更新日期: 2023-09-27 17:59:30
我知道Windows Store 8.1应用程序上只有3个标准主题可用。我同意。但我想为我的应用程序更改选定主题中的单一颜色或笔刷(例如,我想将Light主题中的ButtonBackgroundThemeBrush更改为纯红色)。有人知道如何做到这一点吗?
我在SO:上发现了这些问题
制作自己的windows 8应用程序主题
如何在C#/XAML Windows应用商店(Metro UI)应用程序中混合浅色和深色主题?
在Windows 8.1 中创建主题
但我找不到任何明确的答案。
如果我是你,我会在App.cs
中设置这些颜色,可能是在构造函数或加载的事件中。
(App.Current.Resources["ButtonBackgroundThemeBrush"] as SolidColorBrush).Color = Colors.Red;
据我所知,如果用户在应用程序打开时更改了主题,那么主题将一直保留到用户重新启动应用程序。话虽如此,你还需要考虑到当前的主题。例如,如果用户使用"深色"主题,则不希望将主题画笔设置为"红色"。您可以使用此处概述的方法检测当前主题。
好的,我找到了方法,只需在App.xaml
中插入以下代码:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.ThemeDictionaries>
<ResourceDictionary x:Key="Light">
<SolidColorBrush x:Key="ButtonBackgroundThemeBrush" Color="Red" />
</ResourceDictionary>
</ResourceDictionary.ThemeDictionaries>
</ResourceDictionary>
</Application.Resources>