Partilhar via


Como pintar uma área com um pincel de sistema

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

Você pode usar pincéis do sistema como um recurso estático ou dinâmico. Use um recurso dinâmico se quiser que o pincel seja atualizado automaticamente se o usuário alterar o pincel do sistema enquanto o aplicativo está sendo executado; 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 um SolidColorBrush da cor especificada do sistema.

  • *<SystemColor>*BrushKey

    Obtém uma referência dinâmica a um SolidColorBrush da cor de sistema especificada.

  • *<SystemColor>*Cor

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

  • *<SystemColor>*ColorKey

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

Uma cor de sistema é uma estrutura Color que pode ser usada para configurar um pincel. Por exemplo, você pode criar um gradiente usando cores do sistema definindo as propriedades Color das paradas de gradiente de um objeto LinearGradientBrush com as 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 dinâmico do sistema para definir o plano 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 próximo exemplo usa uma referência de pincel estático do sistema para definir o plano 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 obter um exemplo mostrando como usar uma cor do sistema em um gradiente, consulte Usar cores do sistema em um gradiente.

Ver também