Partager via


Comment : peindre une zone avec un pinceau système

La classe SystemColors fournit l'accès aux pinceaux et couleurs système, tels que ControlBrush, ControlBrushKey et DesktopBrush. Un pinceau système est un objet SolidColorBrush qui peint une zone avec la couleur système spécifiée. Un pinceau système produit toujours un remplissage solide ; il ne peut pas être utilisé pour créer un gradient.

Vous pouvez utiliser des pinceaux système comme une ressource statique ou dynamique. Utilisez une ressource dynamique si vous souhaitez que le pinceau se mette à jour automatiquement si l'utilisateur le modifie pendant l'exécution de l'application ; sinon, utilisez une ressource statique. La classe SystemColors contient diverses propriétés statiques qui suivent une stricte convention d'affectation de noms :

  • <SystemColor> Brush

    Récupère une référence statique à un SolidColorBrush de la couleur système spécifiée.

  • <SystemColor> BrushKey

    Récupère une référence dynamique à un SolidColorBrush de la couleur système spécifiée.

  • <SystemColor> Color

    Récupère une référence statique à une structure Color de la couleur système spécifiée.

  • <SystemColor> ColorKey

    Récupère une référence dynamique à la structure Color de la couleur système spécifiée.

Une couleur système est une structure Color pouvant être utilisée pour configurer un pinceau. Par exemple, vous pouvez créer un gradient à l'aide de couleurs système en définissant les propriétés Color des points de dégradé d'un objet LinearGradientBrush avec les couleurs système. Pour obtenir un exemple, consultez Comment : utiliser des couleurs système dans un dégradé.

Exemple

L'exemple suivant utilise une référence dynamique du pinceau système pour définir l'arrière-plan d'un bouton.

<Page xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
  WindowTitle="SystemColors Example" Background="White">  
  <StackPanel Margin="20">

    <!-- Uses a dynamic resource to set the 
         background of a button. 
         If the desktop brush changes while this application
         is running, this button will be updated. -->
    <Button 
      Background="{DynamicResource {x:Static SystemColors.DesktopBrushKey}}" 
      Content="Hello, World!" />

  </StackPanel>
</Page>

L'exemple suivant utilise une référence statique du pinceau système pour définir l'arrière-plan d'un bouton.

<Page xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
  WindowTitle="SystemColors Example" Background="White">  
  <StackPanel Margin="20">

    <!-- Uses a static brush to set the
         background of a button. 
         If the desktop brush changes while this application
         is running, this button will not be updated until
         the page is loaded again. -->
    <Button 
      Background="{x:Static SystemColors.DesktopBrush}" 
      Content="Hello, World!"  /> 

  </StackPanel>
</Page>

Pour obtenir un exemple montrant comment utiliser une couleur système dans un gradient, consultez Comment : utiliser des couleurs système dans un dégradé.

Voir aussi

Tâches

Comment : utiliser des couleurs système dans un dégradé

Concepts

Vue d'ensemble de la peinture avec des couleurs unies ou des dégradés