2013-11-09 52 views
2

如何更改wp8應用程序中progressbar控件的背景顏色。雖然它可以通過設計視圖更改,但我希望通過它,我不能這樣做:(C#代碼進行更改。 我試着做更改wp8中progressbar的背景顏色

percentprogress.Background=<different values> 

,不同的值分別爲十六進制和RGB代碼和percentprogress是它的名字,甚至試圖

System.Windows.Media.Brush 

任何想法,如何實現這一目標?

而另一件事,怎麼每次用戶打開應用程序改變這種顏色,是一個新的會話,或只是一個簡歷暫停的應用程序。我應該把它放在Initi下alizeComponent(); {在公共的MainPage()方法下方是指它? }

謝謝:)

回答

1

你可以改變顏色進度是這樣的:

percentprogress.Foreground = new SolidColorBrush(Color.FromArgb(255, 24, 50, 60)); 
percentprogress.Foreground = new SolidColorBrush(Colors.Orange); 

要更改代碼,每次用戶打開應用程序 - 在App.xaml.cs節省一些靜態的標誌Application_Launching和Application_Activated方法的顏色應改變

public static bool ChangeColor; 
private void Application_Launching(object sender, LaunchingEventArgs e) 
{ 
    ChangeColor = true; 
} 

private void Application_Activated(object sender, ActivatedEventArgs e) 
{ 
    ChangeColor = true; 
} 

,並改變它,然後在你的頁面是這樣的:

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    base.OnNavigatedTo(e); 

    if (App.ChangeColor) 
    { 
     Random m = new Random(); 
     percentprogress.Foreground = new SolidColorBrush(
      Color.FromArgb(255, (byte)m.Next(0, 255), (byte)m.Next(0, 255), (byte)m.Next(0, 255))); 
     App.ChangeColor = false; 
    } 
} 
+0

工作就像魅力,另一件事,你可以幫助我,爲什麼我們需要在SolidColorBrush前的'新'關鍵字。再次感謝:) –

+0

因爲您正在創建Brush的新實例。您可以創建多個Brush實例,並將它們保存在本地應用程序中,而無需再次創建它們。 –