Je ne veux pas vraiment utiliser la couleur d'accent que l'utilisateur a choisie dans Windows dans mon application, et je veux plutôt avoir ma propre couleur. Je peux le changer manuellement sur tous les éléments en créant de nouveaux styles, mais c'est à tellement d'endroits dans les contrôles normaux que ce serait bien de le faire au niveau de l'application.
J'ai essayé de régler <SolidColorBrush x:Key="SystemAccentColor" Color="#FFCB2128" />
mais pour une raison quelconque, cela ne prend pas en compte certains éléments et en transforme d'autres comme les commandes vidéo en gris.
Sur Win10 UWP, la couleur d'accentuation du système est définie comme ThemeResource SystemControlHighlightAccentBrush
. Vous pouvez le remplacer comme suit.
<ResourceDictionary.ThemeDictionaries>
<ResourceDictionary x:Key="Default">
<SolidColorBrush x:Key="SystemControlHighlightAccentBrush" Color="Orange" />
</ResourceDictionary>
<ResourceDictionary x:Key="Dark">
<SolidColorBrush x:Key="SystemControlHighlightAccentBrush" Color="Green" />
</ResourceDictionary>
<ResourceDictionary x:Key="Light">
<SolidColorBrush x:Key="SystemControlHighlightAccentBrush" Color="Blue" />
</ResourceDictionary>
</ResourceDictionary.ThemeDictionaries>
Ajoutez ce qui suit à App.xaml si vous n'utilisez aucun modèle ou ResourceDictionaries:
<ResourceDictionary>
<Color x:Key="SystemAccentColor">#FFCB2128</Color>
</ResourceDictionary>
Si vous utilisez le modèle Minimal Template10, ajoutez la ligne suivante à Styles/Custom.xaml après les valeurs CustomColor et ContrastColor:
<Color x:Key="SystemAccentColor">#FFCB2128</Color>
Si vous avez votre propre ResourceDictionary ailleurs, lié à partir d'App.xaml, ajoutez de la même manière la ligne "Couleur".
Ce qui a fonctionné pour moi, c'était
<SolidColorBrush x:Key="SystemAccentColor" Color="#FFCB2128" />
<Color x:Key="SystemAltHighColor">#FFCB2128</Color>
<Color x:Key="SystemAltLowColor">#FFCB2128</Color>
<Color x:Key="SystemAltMediumColor">#FFCB2128</Color>
<Color x:Key="SystemAltMediumHighColor">#FFCB2128</Color>
<Color x:Key="SystemAltMediumLowColor">#FFCB2128</Color>
<Color x:Key="SystemBaseHighColor">#FFCB2128</Color>
<Color x:Key="SystemBaseLowColor">#FFCB2128</Color>
<Color x:Key="SystemBaseMediumColor">#FFCB2128</Color>
<Color x:Key="SystemBaseMediumHighColor">#FFCB2128</Color>
<Color x:Key="SystemBaseMediumLowColor">#FFCB2128</Color>
Dans le fichier app.xaml afin d'écraser celui défini par Windows.