Condividi tramite


Procedura: utilizzare i colori di sistema in una sfumatura

Per utilizzare un colore di sistema in una sfumatura, vengono utilizzate le proprietà statiche *<ColoreSistema>*Color e *<ColoreSistema>*ColorKey della classe SystemColors per ottenere un riferimento al colore, dove <ColoreSistema> è il nome del colore di sistema desiderato. Utilizzare le proprietà *<ColoreSistema>*ColorKey quando si desidera creare un riferimento dinamico che viene automaticamente aggiornato quando viene modificato il tema del sistema. In caso contrario, utilizzare le proprietà *<ColoreSistema>*Color.

Esempio

Nell'esempio riportato di seguito vengono utilizzate risorse di colore di sistema dinamiche per creare una sfumatura.

<Page xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
  WindowTitle="Dynamic System Colors Example" Background="White">  
  <StackPanel Margin="20">

    <!-- Uses dynamic references to system colors to set
         the colors of gradient stops. 
         If these system colors change while this application
         is running, the gradient will be updated
         automatically.  -->
    <Button Content="Hello, World!">
      <Button.Background>
        <LinearGradientBrush>
          <LinearGradientBrush.GradientStops>
            <GradientStop Offset="0.0" 
              Color="{DynamicResource {x:Static SystemColors.DesktopColorKey}}" />
            <GradientStop Offset="1.0" 
              Color="{DynamicResource {x:Static SystemColors.ControlLightLightColorKey}}" />
          </LinearGradientBrush.GradientStops>
        </LinearGradientBrush>
      </Button.Background>
    </Button>

  </StackPanel>
</Page>

Nell'esempio successivo vengono utilizzate risorse di colore di sistema statiche per creare una sfumatura.

<Page xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
  WindowTitle="Static System Colors Example" Background="White">  
  <StackPanel Margin="20">

    <!-- Uses static references to system colors to set
         the colors of gradient stops. 
         If these system colors change while this application
         is running, this button will not be updated until
         the page is loaded again. -->
    <Button Content="Hello, World!">
      <Button.Background>
        <LinearGradientBrush>
          <LinearGradientBrush.GradientStops>
            <GradientStop Offset="0.0" 
              Color="{x:Static SystemColors.DesktopColor}" />
            <GradientStop Offset="1.0" 
              Color="{x:Static SystemColors.ControlLightLightColor}" />
          </LinearGradientBrush.GradientStops>
        </LinearGradientBrush>
      </Button.Background>
    </Button>

  </StackPanel>
</Page>

Vedere anche

Attività

Procedura: disegnare un'area con un pennello di sistema

Riferimenti

SystemColors

Concetti

Cenni sul disegno con colori a tinta unita e sfumature