Практическое руководство. Закраска области с помощью системной кисти
Обновлен: Ноябрь 2007
Класс SystemColors предоставляет доступ к системной кисти и системным цветам, таким как ControlBrush, ControlBrushKey и DesktopBrush. Системная кисть является объектом SolidColorBrush, закрашивающим область указанным системным цветом. Системная кисть всегда дает сплошную заливку; она не может использоваться для создания градиентной заливки.
Можно использовать системные кисти либо как статические, либо как динамические ресурсы. Динамические ресурсы используются при необходимости автоматического обновления кисти, если пользователь изменяет системную кисть во время выполнения приложения; в противном случае используются статические ресурсы. Класс SystemColors содержит разнообразные статические свойства, которые следуют строгому правилу именования:
*<SystemColor>*Brush
Получает статическую ссылку на SolidColorBrush указанного системного цвета.
*<SystemColor>*BrushKey
Получает динамическую ссылку на SolidColorBrush указанного системного цвета.
*<SystemColor>*Color
Получает статическую ссылку на структуру Color указанного системного цвета.
*<SystemColor>*ColorKey
Получает динамическую ссылку на структуру Color указанного системного цвета.
Системный цвет представляет собой структуру Color, которая может быть использована для настройки кисти. Например, можно создать градиент с помощью системных цветов, задав свойства Color градиента объекта LinearGradientBrush с системными цветами. Пример см. в разделе Практическое руководство. Использование системных цветов в градиенте.
Пример
В следующем примере используется динамическая ссылка системной кисти для установки фона кнопки.
<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>
В следующем примере с помощью статической ссылки системной кисти устанавливается фон кнопки.
<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>
Пример, показывающий, как использовать системный цвет в градиенте, см. в разделе Практическое руководство. Использование системных цветов в градиенте.
См. также
Задачи
Пример использования системных кистей и цветов
Практическое руководство. Использование системных цветов в градиенте