Compartilhar via


Como pintar uma área com um pincel de sistema

A SystemColors classe fornece acesso a pincéis e cores do sistema, como ControlBrush, ControlBrushKeye DesktopBrush. Um pincel do sistema é um SolidColorBrush objeto que pinta uma área com a cor do sistema especificada. Um pincel do sistema sempre produz um preenchimento sólido; ele não pode ser usado para criar um gradiente.

Você pode usar pincéis do sistema como um recurso dinâmico ou estático. Use um recurso dinâmico se desejar que o pincel seja atualizado automaticamente se o usuário alterar o pincel do sistema enquanto o aplicativo está em execução; caso contrário, use um recurso estático. A classe SystemColors contém uma variedade de propriedades estáticas que seguem uma convenção de nomenclatura estrita:

  • *<SystemColor>*Pincel

    Obtém uma referência estática a uma SolidColorBrush das cores do sistema especificadas.

  • *<SystemColor>*BrushKey

    Obtém uma referência dinâmica a uma SolidColorBrush das cores do sistema especificadas.

  • *<SystemColor*Color>

    Obtém uma referência estática a uma Color estrutura da cor do sistema especificada.

  • *<SystemColor>*ColorKey

    Obtém uma referência dinâmica à Color estrutura da cor do sistema especificada.

Uma cor do sistema é uma Color estrutura que pode ser usada para configurar um pincel. Por exemplo, você pode criar um gradiente usando cores do sistema definindo as Color propriedades das paradas de gradiente de um LinearGradientBrush objeto com cores do sistema. Para obter um exemplo, consulte Usar cores do sistema em um gradiente.

Exemplo

O exemplo a seguir usa uma referência de pincel de sistema dinâmico para definir a tela de fundo de um botão.

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

O exemplo a seguir usa uma referência de pincel de sistema estático para definir a tela de fundo de um botão.

<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 ver um exemplo que mostra como usar uma cor do sistema em um gradiente, consulte Usar cores do sistema em um gradiente.

Confira também