Partilhar via


Como: Paint an Area with a System Brush

A classe SystemColors fornece acesso a pincéis e cores do sistema, como ControlBrush, ControlBrushKey e DesktopBrush. Um pincel de sistema é um objeto SolidColorBrush que pinta uma área com a cor especificada do sistema. 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 tanto como recurso estático como dinâmico. Use um recurso dinâmico se desejar que o pincel seja atualizado automaticamente se o usuário altera o pincel de sistema enquanto o 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 nomeclatura estrita:

  • *<SystemColor>*Brush

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

  • *<SystemColor>*BrushKey

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

  • *<SystemColor>*Color

    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 do sistema especificada.

Uma cor do 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 de um objeto LinearGradientBrush com cores do sistema. Para um exemplo, consulte Como: Use System Colors in a Gradient.

Exemplo

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

<Page xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  xmlns:x="https://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 estática a um pincel do sistema para definir o plano de fundo de um botão.

<Page xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  xmlns:x="https://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 que mostre como usar uma cor do sistema em um gradiente, consulte Como: Use System Colors in a Gradient.

Consulte também

Tarefas

Pincéis de sistema e exemplo de cores

Como: Use System Colors in a Gradient

Conceitos

Painting with Solid Colors and Gradients Overview