web-dev-qa-db-fra.com

Changer la couleur d'accent dans Windows 10 UWP

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.

21
Kasper S Mathiesen

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>
23
Mamoru Satoh

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".

5
Honza Kalfus

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.

1
Kasper S Mathiesen