画刷

一、画刷是什么?

画刷 = 给 WPF 控件 “上色 / 填充” 的工具
 
所有能显示颜色、图片、渐变、纹理的地方,全靠画刷实现。

必须记住:

WPF 中这些属性 只能用 Brush:
  • Background(背景)
  • Foreground(文字颜色)
  • BorderBrush(边框)
  • Fill(形状填充)
  • Stroke(形状轮廓)

二、WPF 5 种最常用画刷(全部掌握)

1. SolidColorBrush 纯色画刷(最常用)

2. LinearGradientBrush 线性渐变画刷

3. RadialGradientBrush 径向渐变画刷

4. ImageBrush 图片画刷

5. VisualBrush 视觉画刷

1. SolidColorBrush 纯色画刷

单一颜色填充

写法

1 <SolidColorBrush Color="Red"/>
2 <SolidColorBrush Color="#FF0077D4"/>

例子

1 <!-- 直接用颜色名,系统自动转 SolidColorBrush -->
2 <Button Background="Red" Content="纯色按钮"/>
3 
4 <!-- 完整写法 -->
5 <Button Content="标准写法">
6     <Button.Background>
7         <SolidColorBrush Color="#0077D4"/>
8     </Button.Background>
9 </Button>

资源中定义(全局使用)

1 <Window.Resources>
2     <SolidColorBrush x:Key="ThemeBrush" Color="#0077D4"/>
3 </Window.Resources>
4 
5 <Button Background="{StaticResource ThemeBrush}"/>

2. LinearGradientBrush 线性渐变画刷

颜色沿直线渐变

核心属性

  • StartPoint 起点
  • EndPoint 终点
  • GradientStop 渐变颜色点

例子:从上到下蓝色渐变

1 <Button Content="渐变按钮" Height="50">
2     <Button.Background>
3         <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
4             <GradientStop Color="#LightBlue" Offset="0"/>
5             <GradientStop Color="#DarkBlue" Offset="1"/>
6         </LinearGradientBrush>
7     </Button.Background>
8 </Button>

例子:从左到右彩虹渐变

 1 <Border Height="50">
 2     <Border.Background>
 3         <LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
 4             <GradientStop Color="Red" Offset="0"/>
 5             <GradientStop Color="Orange" Offset="0.2"/>
 6             <GradientStop Color="Yellow" Offset="0.4"/>
 7             <GradientStop Color="Green" Offset="0.6"/>
 8             <GradientStop Color="Blue" Offset="0.8"/>
 9             <GradientStop Color="Purple" Offset="1"/>
10         </LinearGradientBrush>
11     </Border.Background>
12 </Border>

3. RadialGradientBrush 径向渐变画刷

从中心向外扩散渐变

例子:圆形发光按钮

1 <Button Width="100" Height="100" Content="圆形渐变">
2     <Button.Background>
3         <RadialGradientBrush GradientOrigin="0.5,0.5" RadiusX="0.5" RadiusY="0.5">
4             <GradientStop Color="White" Offset="0"/>
5             <GradientStop Color="Blue" Offset="1"/>
6         </RadialGradientBrush>
7     </Button.Background>
8 </Button>

4. ImageBrush 图片画刷

用图片填充控件

例子:图片背景按钮

1 <Button Width="200" Height="100" Content="图片按钮">
2     <Button.Background>
3         <ImageBrush ImageSource="Images/background.png"/>
4     </Button.Background>
5 </Button>
注意:图片属性 生成操作 要设为 Resource

5. VisualBrush 视觉画刷

把一个控件 / 界面当成画刷

例子:按钮显示文字图案

1 <Button Width="200" Height="100">
2     <Button.Background>
3         <VisualBrush>
4             <VisualBrush.Visual>
5                 <TextBlock Text="视觉画刷" FontSize="20" Foreground="Red"/>
6             </VisualBrush.Visual>
7         </VisualBrush>
8     </Button.Background>
9 </Button>

三、画刷综合实战:超美样式按钮(可直接用)

 1 <Style TargetType="Button" x:Key="GradientButton">
 2     <Setter Property="FontSize" Value="18"/>
 3     <Setter Property="Foreground" Value="White"/>
 4     <Setter Property="Padding" Value="20,8"/>
 5     
 6     <!-- 渐变画刷 -->
 7     <Setter Property="Background">
 8         <Value>
 9             <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
10                 <GradientStop Color="#4FC3F7" Offset="0"/>
11                 <GradientStop Color="#0288D1" Offset="1"/>
12             </LinearGradientBrush>
13         </Value>
14     </Setter>
15     
16     <!-- 鼠标悬浮渐变加深 -->
17     <Style.Triggers>
18         <Trigger Property="IsMouseOver" Value="True">
19             <Setter Property="Background">
20                 <Value>
21                     <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
22                         <GradientStop Color="#81D4FA" Offset="0"/>
23                         <GradientStop Color="#01579B" Offset="1"/>
24                     </LinearGradientBrush>
25                 </Value>
26             </Setter>
27         </Trigger>
28     </Style.Triggers>
29 </Style>

使用:

1 <Button Style="{StaticResource GradientButton}" Content="渐变按钮"/>

四、超级总结(必背)

  1. 画刷 = 填充控件颜色 / 图片的工具
  2. SolidColorBrush → 纯色(最常用)
  3. LinearGradientBrush → 线性渐变
  4. RadialGradientBrush → 径向渐变
  5. ImageBrush → 图片填充
  6. VisualBrush → 控件填充
posted on 2026-03-25 18:17  工业搬砖猿Lee  阅读(13)  评论(0)    收藏  举报