一、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、代码如下图所示:

android drawRoundRect左边是圆角右边不是圆角_圆角


android drawRoundRect左边是圆角右边不是圆角_控件_02


android drawRoundRect左边是圆角右边不是圆角_wpf_03


6、效果如下图所示:

android drawRoundRect左边是圆角右边不是圆角_赋值_04