Recherche…


Syntaxe

  • C #: Application.Current.Resources ["yourColorKey"]
  • Xaml: {ThemeResource yourColorKey}

Paramètres

Paramètre Objectif
yourColorKey Une clé que vous donnez pour récupérer un objet Color . Il diffère entre C # et Xaml

Remarques

UWP vous permet de prendre le contrôle total des avantages de Windows 10. Certains de ces avantages sont graphiques, comme la couleur Accent ou les thèmes Dark / Light.

Pour préparer votre application à être compatible avec ces fonctionnalités, un ensemble de couleurs prédéfinies a été implémenté dans UWP pour changer avec la couleur Accent du système d'exploitation sur lequel le programme s'exécute ou avec le choix du thème de l'utilisateur.

Il y a deux façons de le faire :

  • Directement dans Xaml, en utilisant l'attribut Color = {ThemeResource x} (ou quel que soit l'attribut qui prend un Brush comme valeur, comme BorderBrush, Background, etc.)

  • Dans C # Code Behind, en recherchant la couleur dans le répertoire Resource de l'application en cours. Cela donne un objet Color , donc si vous voulez le placer dans la propriété Color d'un objet que vous avez référencé depuis votre Xaml, vous devrez créer un nouveau pinceau comme ceci:

new SolidColorBrush(Application.Current.Resources["yourColorKey"])

Pour une référence des clés de couleur dans c #, veuillez consulter:

https://msdn.microsoft.com/windows/uwp/controls-and-patterns/xaml-theme-resources

Accès aux ressources thématiques dans Xaml

Extrait de MyExampleFile.xaml

<TextBlock Foreground="{ThemeResource SystemControlBackgroundAccentBrush}"
         Text="This is a colored textbox that use the Accent color of your Windows 10"/>

<TextBlock Foreground="{ThemeResource SystemControlBackgroundBaseHighBrush}"
         Text="This is a colored textbox that use a color that is readable in both Light and Dark theme"/>

Accès aux ressources thématiques en C #

Extrait de MyExampleFile.xaml

<TextBlock x:Name="MyTextBlock"
         Text="This is a TextBlock colored from the code behind"/>

Extrait de MyExampleFile.xaml.cs

    // We use the application's Resource dictionary to get the current Accent of your Windows 10
    MyTextBlock.Color = new SolidColorBrush(Application.Current.Resources["SystemAccentColor"]);


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow