Partager via


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

Mise à jour : novembre 2007

Pour utiliser une couleur système dans un dégradé, utilisez les propriétés statiques *<CouleurSystème>*Color et *<CouleurSystème>*ColorKey de la classe SystemColors pour obtenir une référence à la couleur, où <CouleurSystème> correspond au nom de la couleur système souhaitée. Utilisez la propriété *<CouleurSystème>*ColorKey pour créer une référence dynamique qui se met à jour automatiquement lorsque le thème du système change. Sinon, utilisez la propriété *<CouleurSystème>*Color.

Exemple

L'exemple suivant utilise des ressources de couleurs système dynamiques pour créer un dégradé.

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

    <!-- Uses dynamic references to system colors to set
         the colors of gradient stops. 
         If these system colors change while this application
         is running, the gradient will be updated
         automatically.  -->
    <Button Content="Hello, World!">
      <Button.Background>
        <LinearGradientBrush>
          <LinearGradientBrush.GradientStops>
            <GradientStop Offset="0.0" 
              Color="{DynamicResource {x:Static SystemColors.DesktopColorKey}}" />
            <GradientStop Offset="1.0" 
              Color="{DynamicResource {x:Static SystemColors.ControlLightLightColorKey}}" />
          </LinearGradientBrush.GradientStops>
        </LinearGradientBrush>
      </Button.Background>
    </Button>

  </StackPanel>
</Page>

L'exemple suivant crée un dégradé à l'aide de ressources de couleurs système statiques.

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

    <!-- Uses static references to system colors to set
         the colors of gradient stops. 
         If these system colors change while this application
         is running, this button will not be updated until
         the page is loaded again. -->
    <Button Content="Hello, World!">
      <Button.Background>
        <LinearGradientBrush>
          <LinearGradientBrush.GradientStops>
            <GradientStop Offset="0.0" 
              Color="{x:Static SystemColors.DesktopColor}" />
            <GradientStop Offset="1.0" 
              Color="{x:Static SystemColors.ControlLightLightColor}" />
          </LinearGradientBrush.GradientStops>
        </LinearGradientBrush>
      </Button.Background>
    </Button>

  </StackPanel>
</Page>

Cet exemple est extrait d'un exemple plus complet ; pour y accéder, consultez Pinceaux et couleurs du système, exemple.

Voir aussi

Tâches

Comment : peindre une zone avec un pinceau système

Concepts

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

Référence

SystemColors