Compartir a través de


Cómo: Usar colores del sistema en un degradado

Para utilizar un color del sistema en un degradado, se utilizan las propiedades estáticas *<SystemColor>*Color y *<SystemColor>*ColorKey de la clase SystemColors para obtener una referencia al color, donde <SystemColor> es el nombre del color del sistema deseado. Utilice las propiedades *<SystemColor>*ColorKey cuando desee crear una referencia dinámica que se actualice automáticamente al cambiar el tema del sistema. De lo contrario, utilice las propiedades *<SystemColor>*Color.

Ejemplo

En el ejemplo siguiente se utilizan recursos de colores del sistema dinámicos para crear un degradado.

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

En el ejemplo siguiente se utilizan recursos de colores del sistema estáticos para crear un degradado.

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

Vea también

Tareas

Cómo: Pintar un área con un pincel del sistema

Referencia

SystemColors

Conceptos

Información general sobre el dibujo con colores sólidos y degradados