uwp
Ressources thématiques
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 unBrushcomme 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éColord'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"]);