ユーザーが電話でどのテーマを選択したかによって、長方形の色を変更したいと考えています。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テーマ・リソースの完全なリストをチートシートとして見つけることができます:http://bit.ly/kzhoog: ) – Anheledir
うわー、そのような詳細な応答に感謝します。これは非常に役に立ちました。 – user700645