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