簡體   English   中英

不更改WP8 c#中的應用程序的顏色

[英]Not change the color fo the application in WP8 c#

在我的設置頁面中,我有一個listPicker控件,當我從listpicker選擇器中選擇Dark時,有兩個值DarkLight我想將背景色從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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM