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的更多相关文章

  1. Win10系列:JavaScript 控件的使用

    向页面中添加的控件可分为两种类型:标准的HTML控件和WinJS库控件.其中标准的HTML控件是指HTML标准中定义的基本控件,如按钮和复选框:WinJS库控件是为开发基于JavaScript 的Wi ...

  2. WPF 模仿 UltraEdit 文件查看器系列一 用户控件

    WPF 模仿 UltraEdit 文件查看器系列一 用户控件 运行环境:Win10 x64, NetFrameWork 4.8, 作者:乌龙哈里,日期:2019-05-10 章节: 起步 添加用户控件 ...

  3. C#控件系列--文本类控件

    C#控件系列--文本类控件         文本类控件主要包含Label.LinkLabel.Button.TextBox以及RichTextBox. Label 功能         Label用来 ...

  4. WPF从我炫系列4---装饰控件的用法

    这一节的讲解中,我将为大家介绍WPF装饰控件的用法,主要为大家讲解一下几个控件的用法. ScrollViewer滚动条控件 Border边框控件 ViewBox自由缩放控件 1. ScrollView ...

  5. WPF编游戏系列 之四 用户控件

    原文:WPF编游戏系列 之四 用户控件        在上一篇<WPF编游戏系列 之三 物品清单>中,对物品清单进行了演示,其中反复用到了同一组控件(如下图),而且 颜昌钢也指出在3.2. ...

  6. 【转】PyQt5系列教程(七)控件

    PyQt5系列教程(七)控件   软硬件环境 Windows 10 Python 3.4.2 PyQt 5.5.1 PyCharm 5.0.4 前言 控件是PyQt应用程序的基石.PyQt5自带很多不 ...

  7. Win10系列:C#应用控件进阶10

    EllipseGeometry EllipseGeometry控件可以用于绘制椭圆,通过定义EllipseGeometry控件的Center属性确定椭圆的圆心坐标,使用此控件的RadiusX 和Rad ...

  8. Win10系列:C#应用控件进阶9

    RectangleGeometry 在使用RectangleGeometry控件绘制矩形时,矩形的位置和尺寸由Rect属性定义,该属性指定矩形的相对位置.高度和宽度.Rect有四个参数,前两个参数表示 ...

  9. Win10系列:C#应用控件进阶7

    PathGeometry 前面介绍了Path的使用方法,接下来介绍PathGeometry类.PathGeometry提供了描绘由弧线.曲线和直线组成的多个复杂图形的方法.PathGeometry的核 ...

随机推荐

  1. Java8比较器(Lamdba)

    1.首先构造一个实体以便示例使用 public class Developer { private String name; private BigDecimal salary; private in ...

  2. electron 打包流程 electron-packager + NSIS

    1.安装 electron-packager 2.electron-packager 应用目录 应用名称 打包平台  左上角的图标和任务栏的图标  输出目录 架构 版本     win打包:  ele ...

  3. 【js】了解前端缓存,收获不止于此!

    了解前端缓存,收获不止于此! 这次我们来讲一下关于前端缓存的问题.感谢赵欢同学提供doc素材. 首先,开局我画了一张图,你会对文章有一个大局了解. 今天讲的是前端缓存. 前端缓存有3大种:如图,分为H ...

  4. html常用meat头

    <!-- 字体编码 --> <meta charset="utf-8" /> <!-- 关键字 --> <meta name=" ...

  5. 恢复git reset --hard之前尚未push的commit提交

    1.在.git/logs/refs/heads/下有所有分支的操作记录及commit号,可以找到commit提交所在那个分支名称: 2.搜索commit提交的标题,就可以看到相应的记录,包括id号: ...

  6. Chrom Firefox 非安全端口访问

    使用Chrom Firefox 访问非安全端口 问题描述 Firefox 此网址已被限制 此网址使用了一个通常用于网络浏览以外目的的端口.出于安全原因,Firefox 取消了该请求. Chrome 无 ...

  7. P3958 奶酪

    传送门 思路: 模拟题.用并查集求出所有 “连通块” ,判断是否有 “连通块” 的最顶上和最下方都不小于奶酪的范围. Code: #include<iostream> #include&l ...

  8. 【Redis】windows下redis服务的安装

    下载地址: https://github.com/MicrosoftArchive/redis/releases Redis 支持 32 位和 64 位.这个需要根据你系统平台的实际情况选择,这里我们 ...

  9. Windows7下Jupyter Notebook使用入门

    目录 一.Jupyter简介 二.Jupyter安装 2.1 python 3安装 2.2 Jupyter 安装 三.Jupyter使用示例 四.Jupyter常用命令 五.其他说明 一.Jupyte ...

  10. inode满处理

    https://blog.csdn.net/liuxiao723846/article/details/79423581 [root@monitor251 bin]# for i in /boot; ...