Win10系列:C#应用控件进阶4
多边形
若要绘制多边形需要用到Polygon元素,并通过定义一系列的点绘制多边形。Polygon类型的对象有Points属性, 这个属性用来定义组成边的点集。在前台代码中,使用空格分隔各个点,然后利用逗号分隔坐标点来定义点坐标。不必为了将起点和终点指定为相同的值而声明闭合点,Polygon类假设要定义闭合形状,并且会自动将终点与起点连起来。下面将演示如何绘制一个多边形。
在一个打开的Windows应用商店项目中新建一个空白页,并命名为PolygonPage,双击打开此页面的PolygonPage.xaml文件,在Grid元素中添加如下代码。
<Polygon Fill="Red" Points="70,100 10,200 210,200 100,100" />
上面的代码使用Polygon控件的Points属性设置多边形的4个顶点坐标分别为 (70,100)、(10,200)、(210,200)和(100,100),接着使用Red给Fill属性赋值,从而绘制一个填充颜色为红色的多边形。没有对Stroke属性赋值,以便它没有外围轮廓。
接下来介绍使用后台代码绘制多边形。与前台代码不一样的是,后台代码需要使用 PointCollection类型的对象存放各个点,接着将每个点作为一个Point对象添加到集合中,然后把集合对象的值赋值给Points属性,这样便可以绘制与前台一样的多边形。代码如下所示:
public PolygonPage()
{
this.InitializeComponent();
Polygon polygon = new Polygon();
polygon.Fill = new SolidColorBrush(Colors.Red);
//实例化一个pointCollenction的对象
PointCollection points = new PointCollection();
//添加点
points.Add(new Point(70, 100));
points.Add(new Point(10, 200));
points.Add(new Point(210, 200));
points.Add(new Point(100, 100));
//设置polygon的点
polygon.Points = points;
MyCanvas.Children.Add(polygon);
}
在上面的代码中,首先实例化一个Polygon类型的对象polygon,设定Stroke属性为红色,接着定义存放点集的PointCollection类型的points对象,利用points对象的Add属性添加四个点,然后把points赋值给polygon对象的Points属性,这样便可以绘制一个与前台方式实现效果一致的多边形,最后调用MyCanvas容器对象的Children属性中的Add方法,将这个多边形加入到页面中显示。
运行此页面,绘制多边形的效果如图8-5所示。

图8-5 简单的多边形
Win10系列:C#应用控件进阶4的更多相关文章
- 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的核 ...
随机推荐
- was系统的远程调试
1.进入websphere页面 2.servers->server types->websphere application servers->点击Additional Proper ...
- jquery的on()用法实例
首先,先看官方描述: 再来,用实例解释一下: 1.简单绑定单个事件: $("body").on("click",".edit_btn",fu ...
- centos6删除nginx
1.ps -ef|grep nginx 查看nginx进程 2.找到nginx相对应的位置 3.停止nginx服务: 4.删除nginx安装的相关路径(根据自己安装的情况来删除) 如果是yum安装,就 ...
- selenium span[contains]中使用变量
province = '湖南' driver.find_element_by_xpath('//span[contains(text(),"'+province+'").click ...
- 代理模式——用AOP测试业务层方法的执行时间
代理模式 对代理模式的理解,通过http://www.runoob.com/design-pattern/proxy-pattern.html 对AOP的代理模式,参考https://www.cnbl ...
- Android系统应用Mms之Sms短信发送流程(Mms应用部分)二
1. 新建一条短信, 在发送短信之前, 首先创建的是一个会话Conversation, 以后所有与该接收人(一个或多个接收人)的消息交互, 都在该会话Conversation中. ComposeMes ...
- Android中获得网络状况的实现
要得知网络状况就是要用networkinfo类这个类名还是把这个类的意思表达的很清晰的,network是网络,info是状况.判断是否有网用到了这个类的IsAvailable方法,这个方法返回的是这个 ...
- arch安装以及配置记录
设置ip和网关 ifconfig eth0 10.82.16.233 netmask 255.255.255.0 route add default gw 10.82.16.1 或者 ip addr ...
- 【新特性】JDK1.6
一.Desktop类和SystemTray类 在JDK6中 ,AWT新增加了两个类:Desktop和SystemTray. 前者可以用来打开系统默认浏览器浏览指定的URL,打开系统默认邮件客户端给指定 ...
- Java对象、引用、实例
https://blog.csdn.net/zmx729618/article/details/54093075