不要在 WP8 c# 中更改应用程序的颜色
本文关键字:应用程序 颜色 WP8 | 更新日期: 2023-09-27 18:23:50
在我的设置页面中,我有一个listPicker
控件,当我从listpicker
中选择Dark
时,它有两个值Dark
和Light
,我想将背景更改为Silver
前景色white
按钮背景色更改为Black
,按钮前景色更改为white
,强调色是应用程序的black
, 我这样做如下:
private void themelistPicker1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
ListPickerItem lpi = (sender as ListPicker).SelectedItem as ListPickerItem;
themename = lpi.Content.ToString();
if (themename == "Dark")
{
SolidColorBrush brush = new SolidColorBrush();
brush.Color = Color.FromArgb(255, 192, 192, 192);
App.RootFrame.Background = brush;
((SolidColorBrush)Resources["PhoneAccentBrush"]).Color = Colors.Black;
((Color)Resources["PhoneForegroundColor"])= Colors.Black;
}
else
{
SolidColorBrush brush = new SolidColorBrush();
brush.Color = Color.FromArgb(255, 255, 255, 255);
App.RootFrame.Background = brush;
((SolidColorBrush)Resources["PhoneAccentBrush"]).Color = Colors.Blue;
((Color)Resources["PhoneForegroundColor"])= Colors.Black;
}
但它只更改设置页面的背景和主题色,而不是所有应用程序,也不会更改应用程序的前景和按钮颜色,为什么?
请建议我,等待回复。
谢谢
为此,请在 App.xaml 中定义自定义 SolidColorBrushes,然后将它们设置为所有控件的背景/前景。然后只需更改这些画笔,它将更改所有控件。
不要更改系统定义的画笔的颜色,因为所有控件都使用它们。这就是为什么你的代码改变了你不想改变的东西。