我想要根據用戶在手機上選擇的主題更改矩形的顏色。更改Windows Phone 7主題感知應用程序的顏色
EG。 當用戶將其設備的主題顏色設置爲點亮時,矩形應爲藍色,並且當主題設置爲黑色時,它應該爲灰色。
任何想法?
謝謝
我想要根據用戶在手機上選擇的主題更改矩形的顏色。更改Windows Phone 7主題感知應用程序的顏色
EG。 當用戶將其設備的主題顏色設置爲點亮時,矩形應爲藍色,並且當主題設置爲黑色時,它應該爲灰色。
任何想法?
謝謝
我寫了一個自定義資源字典實現,它在運行時選擇另一個字典,而不會影響性能,並在Visual Studio設計器中工作。你會使用這樣的:
<Application.Resources>
<custom:ThemeResourceDictionary>
<custom:ThemeResourceDictionary.LightResources>
<ResourceDictionary Source="/ThemeManagement;component/Resources/Light.xaml" />
</custom:ThemeResourceDictionary.LightResources>
<custom:ThemeResourceDictionary.DarkResources>
<ResourceDictionary Source="/ThemeManagement;component/Resources/Dark.xaml" />
</custom:ThemeResourceDictionary.DarkResources>
</custom:ThemeResourceDictionary>
</Application.Resources>
凡Light.xaml
和Dark.xaml
將包含資源具有相同的名稱。
你可以得到的代碼,並閱讀更多關於它on my blog。
這種事情將能夠確定什麼主題設置爲(黑暗或光明)。您可能希望將其構建到您可以綁定到您的畫筆的屬性中。
Visibility v = (Visibility)Resources["PhoneLightThemeVisibility"];
if (v == System.Windows.Visibility.Visible)
{
// set your brush to blue
}
else
{
// set your brush to grey
}
您還可以得到與PhoneAccentBrush
用戶選擇的強調色,如果你需要考慮到這一點爲好。
還有PhoneDarkThemeOpacity作爲替代方式訪問,返回1或0 - 您可以在這裏找到所有內部WP7-Theme-Resources的完整列表作爲備忘單:http://bit.ly/kzhoog: ) – Anheledir
哇,謝謝你的詳細回覆。這非常有幫助。 – user700645