一个Brush"绘制"其输出区域。 不同画笔具有不同类型的输出。 某些画笔绘制用纯色,其他人使用渐变、 模式、 图像或绘图区域。
SolidColorBrush使用纯色绘制区域Color;
<Rectangle Width="75" Height="75">
<Rectangle.Fill>
<SolidColorBrush Color="Red" />
</Rectangle.Fill>
</Rectangle>
LinearGradientBrush绘制带有线性渐变的区域;
<Rectangle Width="75" Height="75">
<Rectangle.Fill>
<LinearGradientBrush>
<GradientStop Color="Yellow" Offset="0.0" />
<GradientStop Color="Orange" Offset="0.5" />
<GradientStop Color="Red" Offset="1.0" />
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
RadialGradientBrush使用径向渐变绘制区域。
<Rectangle Width="75" Height="75">
<Rectangle.Fill>
<RadialGradientBrush GradientOrigin="0.75,0.25">
<GradientStop Color="Yellow" Offset="0.0" />
<GradientStop Color="Orange" Offset="0.5" />
<GradientStop Color="Red" Offset="1.0" />
</RadialGradientBrush>
</Rectangle.Fill>
</Rectangle>
ImageBrush使用绘制区域ImageSource。
<Rectangle Width="75" Height="75">
<Rectangle.Fill>
<ImageBrush ImageSource="sampleImages\pinkcherries.jpg" />
</Rectangle.Fill>
</Rectangle>
DrawingBrush使用绘制区域Drawing。一个Drawing可以包含形状、 图像、 文本和媒体。
<Rectangle Width="75" Height="75">
<Rectangle.Fill>
<DrawingBrush Viewport="0,0,0.25,0.25" TileMode="Tile">
<DrawingBrush.Drawing>
<DrawingGroup>
<GeometryDrawing Brush="White">
<GeometryDrawing.Geometry>
<RectangleGeometry Rect="0,0,100,100" />
</GeometryDrawing.Geometry>
</GeometryDrawing>
<GeometryDrawing>
<GeometryDrawing.Geometry>
<GeometryGroup>
<RectangleGeometry Rect="0,0,50,50" />
<RectangleGeometry Rect="50,50,50,50" />
</GeometryGroup>
</GeometryDrawing.Geometry>
<GeometryDrawing.Brush>
<LinearGradientBrush>
<GradientStop Offset="0.0" Color="Black" />
<GradientStop Offset="1.0" Color="Gray" />
</LinearGradientBrush>
</GeometryDrawing.Brush>
</GeometryDrawing>
</DrawingGroup>
</DrawingBrush.Drawing>
</DrawingBrush>
</Rectangle.Fill>
</Rectangle>
VisualBrush使用绘制区域Visual对象。 视觉对象的示例包括Button, Page,和MediaElement。
Brush 对象提供Opacity属性,可用于使画笔显示为透明或部分透明。 Opacity值为 0,则画笔完全透明,而Opacity值为 1,则画笔完全不透明。
旋转、 缩放、 倾斜和转换画笔的内容通过使用其Transform或RelativeTransform属性。
因为它继承自Freezable类,Brush类提供多种特殊功能:Brush对象可声明为资源、 在多个对象之间共享和克隆。 此外,所有Brush除类型VisualBrush可以变为只读以提高性能并变为线程安全。