Win10系列:C#应用控件进阶8
LineGeometry
LineGeometry控件通过指定直线的起点和终点来定义线。LineGeometry对象无法进行自我绘制,因此同样需要使用 Path元素来辅助呈现。LineGeometry与Line对象很相似,它们都没有内部面积,不过两者在用法上有些区别,通过定义LineGeometry的StartPoint与EndPoint属性来确定线的起点与终点。下面将演示如何使用LineGeometry绘制一个线形。
下面利用LineGeometry控件绘制一个起点为(300,300)终点为(400,400)的线。在一个打开的Windows应用商店项目中新建一个空白页,并命名为LineGeometryPage,双击打开此页面的LineGeometryPage.xaml文件,在Grid元素中添加如下代码。
<Path Stroke="Red" StrokeThickness="1">
<Path.Data>
<LineGeometry StartPoint="300,300" EndPoint="400,400"/>
</Path.Data>
</Path>
上面的代码首先定义Path并对Stroke和StrokeThickness属性赋值为红色(Red)、1像素,Path元素本身有一个与之关联的画刷,这是通过Path辅助LineGeometry呈现的原因。然后通过定义LineGeometry控件的StartPoint和EndPoint属性来确定线形几何的起点与终点。
前面介绍了在前台绘制线形几何图形,下面我们来看一下使用后台代码绘制此图形,代码如下所示:
public LineGeometryPage()
{
this.InitializeComponent();
//实例化Path对象
Windows.UI.Xaml.Shapes.Path mypath = new Windows.UI.Xaml.Shapes.Path();
mypath.StrokeThickness = 1;
//定义线的颜色
mypath.Stroke = new SolidColorBrush(Colors.Red);
LineGeometry line = new LineGeometry();
//设置起始点
line.StartPoint = new Point(300, 300);
//设置终点
line.EndPoint = new Point(400, 400);
//将line 对象的值赋值给Data
mypath.Data = line;
MyShow.Children.Add(mypath);
}
在上面的代码中,首先实例化Path类型的对象mypath,并设置mypath对象的StrokeThickness 属性值为1、Stroke为红色(Red)。然后定义LineGeometry类型的对象line,并设置line对象的StartPoint和EndPoint属性为(300,300)、(400,400)。接着将line对象赋值给mypath对象的Data属性,最后调用MyShow容器对象的Children属性中的Add方法,将这个矩形加入到页面中显示。
运行此页面,简单直线的运行效果如图8-9所示。
图8-9 简单直线的效果图
Win10系列:C#应用控件进阶8的更多相关文章
- 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#应用控件进阶9
RectangleGeometry 在使用RectangleGeometry控件绘制矩形时,矩形的位置和尺寸由Rect属性定义,该属性指定矩形的相对位置.高度和宽度.Rect有四个参数,前两个参数表示 ...
- Win10系列:C#应用控件进阶7
PathGeometry 前面介绍了Path的使用方法,接下来介绍PathGeometry类.PathGeometry提供了描绘由弧线.曲线和直线组成的多个复杂图形的方法.PathGeometry的核 ...
随机推荐
- ubuntu 17.10 安装mvn
首先,我用的系统是Ubuntu17.10,编辑器用的 vim ,Maven以 3.5.0为例 第一步,去官网下载maven. 官网下载页面.png 第二步,解压到/opt/maven目录(我安装在这个 ...
- SSM项目思路整合NEW2
上接于 https://www.cnblogs.com/shijinglu2018/p/10374541.html ...... 三)客户管理模块开发 说明:其实大致思路差不太多,都是首先根据前端页面 ...
- linux查看与修改交换内存配置(解决zabbix-agent启动报错)
问题 zabbix-agent在一台centos6.5上启动报错: cannot allocate shared memory of size 949056: [28] No space left o ...
- springMVC注解总结
由于BookController类加了value="/book"的@RequestMapping的注解,所以相关路径都要加上"/book",即请求的url分别为 ...
- Exp6 信息搜集与漏洞扫描 20164303
一.实践目标 掌握信息搜集的最基础技能与常用工具的使用方法. 二.实践内容. (1)各种搜索技巧的应用 (2)DNS IP注册信息的查询 (3)基本的扫描技术:主机发现.端口扫描.OS及服务版本探测. ...
- Vue/Egg大型项目开发(二)数据库设计
项目Github地址:前端(https://github.com/14glwu/stuer)后端(https://github.com/14glwu/stuer-server) 项目线上预览:http ...
- C#线程同步(4)- 通知&EventWaitHandle一家
文章原始出处 http://xxinside.blogbus.com/logs/47523285.html 预备知识:C#线程同步(1)- 临界区&Lock,C#线程同步(2)- 临界区&am ...
- ssh到虚拟机---一台主机上
问题描述:我们需要ssh来编辑虚拟机中的文件,以此提高工作效率.但是新建的虚机一般来说没有开启ssh服务,所以需要在虚拟机上开启ssh服务. 1)检查是否安装了SSH rpm -qa |grep ss ...
- dict字典的一些优势和劣势
01. 键必须是可散列的一个可散列的对象必须满足以下要求. (1) 支持 hash() 函数,并且通过 __hash__() 方法所得到的散列值是不变的. (2) 支持通过 __eq__() 方法来检 ...
- centos, ubuntu 上docker 安装
参考中国官网,可以愉快的访问,各种系统,在线/离线部署都有说明.中文哦!! https://docs.docker-cn.com/engine/installation/linux/docker-ce ...