2012-01-01 56 views
1

我正在創建WP Mango應用程序。我想將默認頁面背景設置爲白色,而不管是否選擇了淺色或深色主題,與默認郵件應用程序完全相同。 我已經按照this article,並試圖更改默認PhoneBackgroundBrush爲:在WP7.1中使用默認頁面背景設置自定義主題芒果

(Application.Current.Resources["PhoneBackgroundBrush"]as SolidColorBrush).Color = Colors.White; 

任何想法,我做錯了或怎麼實現?

+3

怎麼了?它不起作用?你有錯誤嗎?怎麼了?你的代碼中的哪個部分放置了這一行? – 2012-01-01 12:43:36

+0

@KooKiz 我把這條線放在App類的構造函數中。 設置PhoneForegroundBrush或PhoneAccentBrush等其他畫筆時,設置PhoneBackgroundBrush似乎沒有任何效果。 我有什麼方法可以爲我的應用程序設置「Light」主題嗎? – Soap 2012-01-01 16:29:28

+0

@Soap看起來在這個例子中甚至不起作用 - 他將代碼設置爲紫色,但在結尾圖片中背景絕對不是紫色 – 2012-01-01 17:51:14

回答

1

我搞砸了樣本,根本不建議這樣做。做額外的工作,創建自己的資源,並自己應用它們。

此方法不會在設計器中顯示更新,這會使您的UI開發變得困難。

它甚至不能正常工作 - 背景不會改變。如果您閱讀博客文章中的評論,則與其他控件一起使用時還存在其他問題。

所以,只是做了正常 - 在你的App.xaml(你也可以做一個單獨的ResourceDictionary)

<!--Application Resources--> 
<Application.Resources> 
    <SolidColorBrush Color="White" x:Key="WhiteBrush" /> 
    <SolidColorBrush Color="#FFF222" x:Key="UglyYellowBrush" /> 
</Application.Resources> 

然後,一個頁面

<!--LayoutRoot is the root grid where all page content is placed--> 
    <Grid x:Name="LayoutRoot" Background="{StaticResource UglyYellowBrush}"> 
... </Grid> 

你甚至可以做這很快就會在所有頁面上使用Find &替換,前提是您從未更改過名稱'LayoutRoot'。如果您發現

<Grid x:Name="LayoutRoot" Background="Transparent"> 

你可以用

<Grid x:Name="LayoutRoot" Background="{StaticResource UglyYellowBrush}"> 
0

創建自己的風格,我沒有工作的解決方案取代。我試圖將背景設置爲在設計視圖中工作的淺灰色,但是當我運行模擬器時出現了標準的黑色背景。