Win10系列:C#应用控件进阶2
矩形
若要绘制矩形需要用到Rectangle元素,通过指定Rectangle元素的Width和Height属性值来确定矩形的尺寸。而设置RadiusX和RadiusY属性值能得到圆角的矩形,这两个属性分别表示圆角的x轴方向和y轴方向圆角的大小,RadiusX允许的最大值为Width的一半,RadiusY允许最大的值为Height的一半。矩形有内部空间,若想获得有填充颜色的矩形,需要设置Fill属性为其填充颜色。下面将演示如何绘制一个矩形。
在一个打开的Windows应用商店项目中新建一个空白页,并命名为RectanglePage,双击打开此页面的RectanglePage.xaml文件,在Grid元素中添加如下代码。
<Rectangle Fill="Yellow" Width="196" Height="100" Stroke="Black" StrokeThickness="5" RadiusX="20" RadiusY="30"/>
上面的代码定义了一个表示矩形的Rectangle元素,并设置其Width属性值为196,Height属性值为100,使用Fill属性填充其内部空间为黄色,把Stroke属性设置为Black、StrokeThickness属性设置为5,定义一个轮廓颜色为黑色、轮廓粗细为5像素的矩形,再将此矩形的RadiusX属性设置为20,RadiusY属性设置为30,最后得到一个圆角矩形。
通过后台代码也能够绘制出与上面相同的矩形,实现代码如下所示:
public RectanglePage()
{
this.InitializeComponent();
//实例化矩形对象
Rectangle rectangle = new Rectangle();
rectangle.Width = 196;
rectangle.Height = 100;
rectangle.Fill = new SolidColorBrush(Colors.Yellow);
rectangle.Stroke = new SolidColorBrush(Colors.Black);
rectangle.StrokeThickness = 5;
//将圆角x轴赋值为20
rectangle.RadiusX = 20;
//将圆角x轴赋值为30
rectangle.RadiusY = 30;
MyCanvas.Children.Add(rectangle);
}
在上面的代码中,首先实例化了一个Rectangle类型的对象rectangle,通过设置rectangle对象的相应属性以达到定义一个与前台方式实现效果一致的矩形,最后调用MyCanvas容器对象的Children属性中的Add方法,将这个矩形加入到页面中显示。
启动此页面,显示效果如图8-2所示。
图8-2 矩形图形
要想在矩形内部添加图形、控件等内容,可以考虑使用Border元素。与Rectangle元素有所不同的是,Border元素实现圆角效果需要用到CornerRadius属性,而不是之前Rectangle元素中所用到的RadiusX和RadiusY属性,绘制一个在Border元素中包含两个矩形效果的XAML代码如下所示:
<Border BorderBrush=" Black" BorderThickness="4" Width="120" Height="100" CornerRadius="10" >
<StackPanel Margin="3,3,3,3">
<Rectangle Fill="Yellow" Height="40" Width="100"/>
<Rectangle Fill="Blue" Height="40" Width="100" />
</StackPanel>
</Border>
图8-3包含两个矩形的Border效果图
Win10系列:C#应用控件进阶2的更多相关文章
- Win10系列:JavaScript 控件的使用
向页面中添加的控件可分为两种类型:标准的HTML控件和WinJS库控件.其中标准的HTML控件是指HTML标准中定义的基本控件,如按钮和复选框:WinJS库控件是为开发基于JavaScript 的Wi ...
- WPF 模仿 UltraEdit 文件查看器系列一 用户控件
WPF 模仿 UltraEdit 文件查看器系列一 用户控件 运行环境:Win10 x64, NetFrameWork 4.8, 作者:乌龙哈里,日期:2019-05-10 章节: 起步 添加用户控件 ...
- C#控件系列--文本类控件
C#控件系列--文本类控件 文本类控件主要包含Label.LinkLabel.Button.TextBox以及RichTextBox. Label 功能 Label用来 ...
- WPF从我炫系列4---装饰控件的用法
这一节的讲解中,我将为大家介绍WPF装饰控件的用法,主要为大家讲解一下几个控件的用法. ScrollViewer滚动条控件 Border边框控件 ViewBox自由缩放控件 1. ScrollView ...
- WPF编游戏系列 之四 用户控件
原文:WPF编游戏系列 之四 用户控件 在上一篇<WPF编游戏系列 之三 物品清单>中,对物品清单进行了演示,其中反复用到了同一组控件(如下图),而且 颜昌钢也指出在3.2. ...
- 【转】PyQt5系列教程(七)控件
PyQt5系列教程(七)控件 软硬件环境 Windows 10 Python 3.4.2 PyQt 5.5.1 PyCharm 5.0.4 前言 控件是PyQt应用程序的基石.PyQt5自带很多不 ...
- Win10系列:C#应用控件进阶10
EllipseGeometry EllipseGeometry控件可以用于绘制椭圆,通过定义EllipseGeometry控件的Center属性确定椭圆的圆心坐标,使用此控件的RadiusX 和Rad ...
- Win10系列:C#应用控件进阶8
LineGeometry LineGeometry控件通过指定直线的起点和终点来定义线.LineGeometry对象无法进行自我绘制,因此同样需要使用 Path元素来辅助呈现.LineGeometry ...
- Win10系列:C#应用控件进阶9
RectangleGeometry 在使用RectangleGeometry控件绘制矩形时,矩形的位置和尺寸由Rect属性定义,该属性指定矩形的相对位置.高度和宽度.Rect有四个参数,前两个参数表示 ...
- Win10系列:C#应用控件进阶7
PathGeometry 前面介绍了Path的使用方法,接下来介绍PathGeometry类.PathGeometry提供了描绘由弧线.曲线和直线组成的多个复杂图形的方法.PathGeometry的核 ...
随机推荐
- ORA-39006错误原因及解决办法
使用impdp导出数据时碰到ora-39006错误,错误提示如下所示: ORA-39006: internal error ORA-39213: Metadata processing is not ...
- 构建 Owin 中间件 来获取客户端IP地址
Not so long ago, we discussed on this blog the possible ways of retrieving the client’s IP address i ...
- 让hive的表注释和字段注释支持中文
此处用的数据库类型为mysql.发现hive在初始化创建这些表的时候,大部分字段的字符集给设置成了latin1,然后collation设成了latin1_bin. 但是我们在hive中创建表时,表注释 ...
- count列表中字符出现的次数
如何count列表中字符出现的次数?可以将其生成一个字典.key是列表中的字符串,value是出现的次数 例如gen = [2, 3, 4, 5, 6, 7, 3, 4, 5, 6, 7, 8, 4, ...
- 2015 北京网络赛 C Protecting Homeless Cats hihoCoder 1229 树状数组
题意:求在平面上 任意两点连线,原点到这个点的距离小于d的点对有多少个,n=200000; 解: 以原点为圆心做一个半径为d的圆,我们知道圆内的点和园内以外的点的连线都是小于d的还有,圆内和园内的点联 ...
- request.getParameter()获取不到数据
HTML中的form表单有一个关键属性 Content-Type=application/x-www-form-urlencoded 或multipart/form-data. 1. Content- ...
- Android Studio NDK开发环境搭建
一. 下载安装Android studio 和 NDK 二. 在Android studio中配置NDK(和SDK配置一样) 三. 用Android studio建立一个工程,打开proj ...
- k-means算法 - 数据挖掘算法(5)
(2017-05-02 银河统计) k-means算法,也被称为k-平均或k-均值,是数据挖掘技术中一种广泛使用的聚类算法. 它是将各个聚类子集内的所有数据样本的均值作为该聚类的代表点,算法的主要思想 ...
- opencv学习之路(20)、直方图应用
一.直方图均衡化--equalizeHist() #include "opencv2/opencv.hpp" using namespace cv; void main() { 6 ...
- 【做题】agc006e - Rotate 3x3——分析&思维
原文链接 https://www.cnblogs.com/cly-none/p/9800105.html 题意:给出一个三行\(n\)列的矩阵.问它能否由满足\(a_{ij} = 3(j-1) + i ...