Partager via


Comment : peindre une zone avec un pinceau système

La SystemColors classe permet d’accéder aux pinceaux et couleurs système, tels que ControlBrush, ControlBrushKeyet DesktopBrush. Un pinceau système est un SolidColorBrush objet qui peint une zone avec la couleur système spécifiée. Un pinceau système produit toujours un remplissage uni ; vous ne pouvez pas l’utiliser pour créer un dégradé.

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

  • *<SystemColor>*Brush

    Obtient une référence statique à une SolidColorBrush couleur système spécifiée.

  • *<SystemColor>*BrushKey

    Obtient une référence dynamique à une SolidColorBrush couleur système spécifiée.

  • *<SystemColor>*Color

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

  • *<SystemColor>*ColorKey

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

Une couleur système est une Color structure qui peut être utilisée pour configurer un pinceau. Par exemple, vous pouvez créer un dégradé à l’aide de couleurs système en définissant les Color propriétés des arrêts de dégradé d’un LinearGradientBrush objet avec des couleurs système. Pour obtenir un exemple, voir Utiliser des couleurs système dans un dégradé.

Exemple

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

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  xmlns:x="http://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 de pinceau système statique pour définir l’arrière-plan d’un bouton.

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  xmlns:x="http://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 dégradé, voir Utiliser des couleurs système dans un dégradé.

Voir aussi