Procedura: disegnare un'area con un pennello di sistema

La SystemColors classe fornisce l'accesso ai pennelli e ai colori di sistema, ad esempio ControlBrush, ControlBrushKeye DesktopBrush. Un pennello di sistema è un oggetto che disegna un'area SolidColorBrush con il colore di sistema specificato. Un pennello di sistema produce sempre un riempimento a tinta unita e non può essere usato per creare una sfumatura.

È possibile usare i pennelli di sistema come risorsa statica o dinamica. Usare una risorsa dinamica se si desidera che il pennello si aggiorni automaticamente in caso di modifica mentre l'applicazione è in esecuzione. In caso contrario, usare una risorsa statica. La classe SystemColors contiene un'ampia gamma di proprietà statiche che seguono una rigida convenzione di denominazione:

  • *<SystemColor>*Brush

    Ottiene un riferimento statico a un SolidColorBrush oggetto del colore di sistema specificato.

  • *<SystemColor>*BrushKey

    Ottiene un riferimento dinamico a un SolidColorBrush oggetto del colore di sistema specificato.

  • *<SystemColor>*Color

    Ottiene un riferimento statico a una Color struttura del colore di sistema specificato.

  • *<SystemColor>*ColorKey

    Ottiene un riferimento dinamico alla Color struttura del colore di sistema specificato.

Un colore di sistema è una Color struttura che può essere usata per configurare un pennello. Ad esempio, è possibile creare una sfumatura usando i colori di sistema impostando le Color proprietà delle interruzioni sfumature di un LinearGradientBrush oggetto con colori di sistema. Per un esempio, vedere Utilizzare i colori di sistema in una sfumatura.

Esempio

L'esempio seguente usa un riferimento di pennello di sistema dinamico per impostare lo sfondo di un pulsante.

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

L'esempio seguente usa un riferimento di pennello di sistema statico per impostare lo sfondo di un pulsante.

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

Per un esempio che illustra come usare un colore di sistema in una sfumatura, vedere Utilizzare i colori di sistema in una sfumatura.

Vedi anche