画刷
一、画刷是什么?
画刷 = 给 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="渐变按钮"/>
四、超级总结(必背)
- 画刷 = 填充控件颜色 / 图片的工具
- SolidColorBrush → 纯色(最常用)
- LinearGradientBrush → 线性渐变
- RadialGradientBrush → 径向渐变
- ImageBrush → 图片填充
- VisualBrush → 控件填充
浙公网安备 33010602011771号