SolidColorBrush是最經常使用到的畫刷類,它的構造最簡單,一種純色畫刷。
一般可經過Brushes來獲取系統預先定義好的顏色畫刷,也能夠本身建立。例如:c#
Brush red = Brushes.Red;//紅色畫刷 Brush green = Brushes.Green;//綠色畫刷 Brush blue = Brushes.Blue;//藍色畫刷 SolidColorBrush red = new SolidColorBrush(Colors.Red);//紅色畫刷
在xaml中使用純色畫刷也很方便:app
<Grid Background="Blue"> </Grid> <Grid Background="#FF952C7D"> <Grid/>
LinearGradientBrush是線性漸變畫刷。spa
<Grid.Background> <LinearGradientBrush MappingMode="RelativeToBoundingBox" ColorInterpolationMode="ScRgbLinearInterpolation" StartPoint="0,0" EndPoint="1,1"> <GradientStopCollection> <GradientStop Color="Red" Offset="0.2"/> <GradientStop Color="Blue" Offset="0.5"/> <GradientStop Color="Green" Offset="0.8"/> </GradientStopCollection> </LinearGradientBrush> </Grid.Background>
其中GradientStop用於設置漸變顏色code
RadialGradientBrush是徑向漸變blog
<Grid.Background> <RadialGradientBrush RadiusX="1" RadiusY="1" Center="0.1,0.2" GradientOrigin="0.2,0.2"> <GradientStopCollection> <GradientStop Color="Red" Offset="0.2"/> <GradientStop Color="Blue" Offset="0.6"/> <GradientStop Color="Green" Offset="0.8"/> </GradientStopCollection> </RadialGradientBrush> </Grid.Background>
ImageBrush與剩餘兩種都繼承於TileBrush類。ImageBrush是圖片畫刷,能夠設置圖片做爲畫刷來使用。繼承
<Grid.Background> <ImageBrush Stretch="Fill" Viewport="0,0,0.1,0.1" ViewportUnits="RelativeToBoundingBox" TileMode="Tile" ImageSource="/Images/ico_head.png"/> </Grid.Background>
其中Stretch屬性與Image中的屬性效果同樣,表示該圖片在必定區域內的表現形式。
TileMode表示填充的方式。
TileMode="Tile"
TileMode="FlipX"
TileMode="FlipXY"
TileModel="FlipY"
能夠發現設置不一樣的TileMode的值,所表現出來的效果是有很大不一樣的。
Viewport屬性用於設置顯示區域的大小。它與ViewportUnits一塊配合使用。
ViewportUnits默認是相對值。圖片
能夠將通常的圖形設置爲背景ip
<Grid.Background> <VisualBrush TileMode="Tile" Viewbox="0,0,2,2" Viewport="0,0,0.1,0.1"> <VisualBrush.Visual> <TextBlock Text=" 水印文本 "/> </VisualBrush.Visual> </VisualBrush> </Grid.Background>
DrawingBrush能夠使用繪製it
<Grid.Background> <DrawingBrush Viewport="0,0,200,220" ViewportUnits="Absolute" TileMode="Tile"> <DrawingBrush.Drawing> <DrawingGroup> <GeometryDrawing Brush="White"> <GeometryDrawing.Geometry> <RectangleGeometry Rect="0,0,200,220"/> </GeometryDrawing.Geometry> </GeometryDrawing> <GeometryDrawing Pen="{StaticResource SolidLine}" Geometry="M0,0 L200,0 200,200 0,200z"/> <GeometryDrawing Pen="{StaticResource DottedLine}" Geometry="M100,0 L100,200"/> <GeometryDrawing Pen="{StaticResource DottedLine}" Geometry="M0,100 L200,100"/> <GeometryDrawing Geometry="M0,210 L200,210"> <GeometryDrawing.Pen> <Pen Brush="Transparent" Thickness="10"/> </GeometryDrawing.Pen> </GeometryDrawing> </DrawingGroup> </DrawingBrush.Drawing> </DrawingBrush> </Grid.Background>