Compartilhar via


Como: Use System Colors in a Gradient

Para usar uma cor do sistema em um gradiente, você usa as propriedades estáticas *<SystemColor>*Color e *<SystemColor>*ColorKey da classe SystemColors para obter uma referência para a cor, onde <SystemColor> é o nome da cor do sistema desejada. Use as propriedades *<SystemColor>*ColorKey quando você desejar criar uma referência dinâmica que se atualiza automaticamente com as alterações de tema do sistema. Caso contrário, use as propriedades *<SystemColor>*Color.

Exemplo

O exemplo a seguir usa recursos dinâmicos de cores do sistema para criar um gradiente.

<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>

O exemplo a seguir usa recursos estáticos de cores do sistema para criar um gradiente.

<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>

Este exemplo é parte de um exemplo maior; para o exemplo completo, veja Pincéis de sistema e exemplo de cores.

Consulte também

Tarefas

Como: Paint an Area with a System Brush

Conceitos

Painting with Solid Colors and Gradients Overview

Referência

SystemColors