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

La clase SystemColors proporciona acceso a pinceles y colores del sistema, como ControlBrush, ControlBrushKey y DesktopBrush. Un pincel del sistema es un objeto SolidColorBrush que pinta un área con un color del sistema especificado. Un pincel del sistema siempre produce un relleno sólido; no puede usarse para crear un degradado.

Puede utilizar los pinceles del sistema como un recurso estático o dinámico. Utilice un recurso dinámico si desea que el pincel se actualice automáticamente si el usuario cambia el pincel del sistema mientras se ejecuta la aplicación; de lo contrario, utilice un recurso estático. La clase SystemColors contiene varias propiedades estáticas que siguen una convención de nomenclatura estricta:

  • *<SystemColor>*Brush

    Obtiene una referencia estática a una clase SolidColorBrush del color del sistema especificado.

  • *<SystemColor>*BrushKey

    Obtiene una referencia dinámica a una clase SolidColorBrush del color del sistema especificado.

  • *<SystemColor>*Color

    Obtiene una referencia estática a una estructura Color del color del sistema especificado.

  • *<SystemColor>*ColorKey

    Obtiene una referencia dinámica a una estructura Color del color del sistema especificado.

Un color del sistema es una estructura Color que se puede usar para configurar un pincel. Por ejemplo, puede crear un degradado mediante colores del sistema al establecer las propiedades Color del delimitador de degradado de un objeto LinearGradientBrush con los colores del sistema. Por ejemplo, vea Cómo: Usar colores del sistema en un degradado.

Ejemplo

En el ejemplo siguiente se utiliza una referencia dinámica de pincel del sistema para establecer el fondo de un botón.

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

En el ejemplo siguiente se utiliza una referencia estática de pincel del sistema para establecer el fondo de un botón.

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

Para obtener un ejemplo que muestre cómo usar un color del sistema en un degradado, vea Cómo: Usar colores del sistema en un degradado.

Vea también