WPF 控件专题 Rectangle详解

1、Rectangle介绍

    绘制矩形;作用域为:System.Windows.Shapes;继承Shape。

    Shape的继承链关系:

**************************************************************************************************************

2、Rectangle 常用属性
    Width/Height:宽度/高度。
    
    Fill:Brush对象,填充画刷,给绘制的形状内部填充画刷(颜色)
    
    RadiusX/RadiusY:获取或设置用于使矩形的角变圆的椭圆的 x 轴/ y 轴半径,默认值为0。
    
    RenderedGeometry: 获取一个表示最终呈现的形状的System.Windows.Media.Geometry 对象。
    
    RenderTransform:获取或设置影响此元素的呈现位置的转换信息,翻转设置。
    
    RenderTransformOrigin:获取或设置由RenderTransform声明的任何可能呈现转换的中心点,相对于元素的边界。
    
    Stretch:获取或设置Stretch枚举值,该值描述形状如何填充为其分配的空间。

    Stroke:Brush对象,用于指定Shape边框绘制的方式,又可以理解为边框画刷,给绘制的形状轮廓加上画刷(颜色)

    StrokeThickness:获取或设置Shape边框的宽度。

**************************************************************************************************************

3、具体示例

    后台创建矩形代码如下

Rectangle myRect = new System.Windows.Shapes.Rectangle();
myRect.Stroke = System.Windows.Media.Brushes.Black;
myRect.Fill = System.Windows.Media.Brushes.SkyBlue;
myRect.HorizontalAlignment = HorizontalAlignment.Left;
myRect.VerticalAlignment = VerticalAlignment.Center;
myRect.Height = 50;
myRect.Width = 50;
myGrid.Children.Add(myRect);

    XAML设置矩形

<WrapPanel x:Name="myGrid">
	<!--绘制一个矩形,宽度100、高度100、笔触(Stroke)为Red、填充色为Teal、边框大小为2、水平居左、垂直居中-->
	<Rectangle Margin="10" Width="100" Height="100" HorizontalAlignment="Left" VerticalAlignment="Center" Fill="Teal" 
			   Stroke="Red" StrokeThickness="2"/>
	<!--绘制一个矩形,宽度100、高度100、笔触(Stroke)为Red、填充色为Teal、边框大小为2、圆角X轴半径为50、圆角Y轴半径为20-->
	<Rectangle Margin="10" Width="100" Height="100" HorizontalAlignment="Center" VerticalAlignment="Center" Fill="Teal"
			   Stroke="Red" StrokeThickness="2" Stretch="Fill" RadiusX="50" RadiusY="20" />
	<!--使用线性渐变绘制区域,设置Stroke 的大小,控制成空心矩形-->
	<Rectangle Margin="10" StrokeThickness="10" Width="100" Height="100">
		<Rectangle.Stroke>
			<LinearGradientBrush EndPoint="1,1" StartPoint="0,0">
				<GradientStop  Color="YellowGreen" Offset="1.5"/>
			</LinearGradientBrush>
		</Rectangle.Stroke>
	</Rectangle>
	<!--Fill 填充,使用线性渐变绘制区域,GradientSto:  描述渐变中过渡点的位置和颜色-->
	<Rectangle  Margin="10" Width="100" Height="100">
		<Rectangle.Fill>
			<LinearGradientBrush EndPoint="1,1" StartPoint="0,0">
				<GradientStop  Color="#11fd62" Offset="0.1"/>
				<GradientStop  Color="#ff7788" Offset="0.4"/>
				<GradientStop  Color="#99ff88" Offset="0.6"/>
				<GradientStop  Color="#778899" Offset="0.8"/>
			</LinearGradientBrush>
		</Rectangle.Fill>
	</Rectangle>
	<!--绘制矩形,宽度100、高度100、填充背景色为透明、边框(矩形轮廓)颜色为OrangeRed、虚线点阵之间的间隔为5-->
	<Rectangle Width="100" Height="100" Margin="10" Fill="Transparent" Stroke="OrangeRed" StrokeDashArray="5"/>
	<!--使用RectangleGeometry绘制矩形,配合Path使用-->
	<Path Stroke ="OrangeRed" StrokeThickness ="4">
		<Path.Data>
			<RectangleGeometry Rect="10,10,150,80"/>
		</Path.Data>
	</Path >   
</WrapPanel>

4、运行效果图

**************************************************************************************************************

5、总结和扩展

    Rectangle多用于后台绘制,图像标记区域、分隔条。

**************************************************************************************************************

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值