一、Rectangle:矩形
1、含义:矩形由笔触(Stroke,即边线)和填充(Fill)构成。
2、注意:Stroke属性的设置与Line一样,Fill属性的数据类型是Brush(画刷)。Brush(画刷)是个抽象类,所以我们不可能拿一个Brush类的实例为Fill属性赋值而只能用Brush派生类的实例进行赋值。
3、属性设置:RadiusX:获取或设置令矩形边角改为圆角的椭圆半径( X 轴)。
RadiusY:获取或设置令矩形边角改为圆角的椭圆半径(Y 轴)。
4、WPF的绘图系统包含非常丰富的Brush类型,常用的有:
SolidColorBrush:实心画刷。在XAML.cs文件中可以使用颜色名称字符串(如Red、Blue)直接赋值。
LinearGradientBrush:线性渐变画刷。色彩沿设定的直线方向、按设定的变化点进行渐变。
RadialGradientBrush:径向渐变画刷。色彩沿半径的方向、按设定的变化点进行渐变,形成圆形填充。
ImageBrush:使用图片(Image)作为填充内容。
DrawingBrush:使用矢量图(Vector)和位图(Bitmap)作为填充内容。
VisualBrush:WPF中的每个控件都是由FrameworkElement类派生来的,而FrameworkElement又是由Visual类的方法获得。获得这个可视化的形象后,我们可以用这个形象进行填充,这就是VisualBrush(视觉画笔)。
比如:当我想把窗体上的某个控件拖拽到另一个位置,当鼠标松开之前需要在鼠标指针下显示一个控件的“幻影”,这个“幻影”就是用VisualBrush填充出来的一个矩形,并让矩形捕捉鼠标的位置、随鼠标移动。
Viewport:设置平铺图片的位置和尺寸。(它具有指定的 x 坐标,y 坐标、 图片的宽度和图片的高度。)
TileMode:设置平铺的方式(Absolute绝对平铺、RelativeToBoundingBox相对平铺)。获取或设置一个值,该值指定在基本图片小于输出区时如何填充你正在绘画的区域。
ViewportUnits:设置平铺的相对/绝对坐标,即图片在哪里进行平铺。
5、代码如下图所示:
6、效果如下图所示: