[英]Not change the color fo the application in WP8 c#
在我的設置頁面中,我有一個listPicker
控件,當我從listpicker
選擇器中選擇Dark
時,有兩個值Dark
和Light
我想將背景色從Silver
前景色更改為white
按鈕的背景色更改為Black
,將按鈕的前景色更改為white
,將accentcolor更改為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,然后將它們設置為所有控件的Background / Foreground。 然后只需更改那些筆刷,它將更改所有控件。
不要更改系統定義的畫筆的顏色,因為所有控件都使用它們。 這就是為什么您的代碼更改了您不想更改的內容的原因。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.