XAML Advent Calendarというわけではりませんが、XAMLのおはなし。
Windows ストアアプリのページなどなどを新規作成すると、
<Grid Background="{ThemeResource ApplicationBackgroundBrush}" />
とかかいてます。ここでThemeResourceはテーマカラーLight/Darkによって変化します。 さてこれを上書きしたいので、App.xamlに次の様に書きました。
<Color x:Key="ApplicationBackgroundColor">#FFFFE0E0</Color> <SolidColorBrush x:Key="ApplicationBackgroundBrush" Color="{StaticResource ApplicationBackgroundColor}" />
しかし、これだと色が変わりません。 テーマカラーを上書きするには先ほどのXAMLをリソースディクショナリとして Themes/Custom.xamlに保存したとして、次の様に書きます。
<Application> <Application.Resources> <Resources> <ResourceDictionary.ThemeDictionaries> <ResourceDictionary x:Key="Dark" Source="Themes/Custom.xaml" /> </ResourceDictionary.ThemeDictionaries> </Resources> </Application.Resources> </Application>
x:Keyの部分はRequestedThemeの値に合わせるといい感じです。 こうすることで、システムのテーマカラーを上書きできます。 アプリのカラーセットを自動生成してくれる、colorisとセットでどうぞ。