Win10系列:C#应用控件进阶1
线形
线形没有内部空间,若要呈现一条直线,需要用Line对象的Stroke和StrokeThickness 属性分别为其轮廓的颜色及轮廓的粗细赋值,若不设置这两个属性,线形将不会呈现。绘制一条线形图形应为代表两个点坐标的属性(X1,Y1)和(X2,Y2)赋值,默认这四项属性的值均为0,点(X1,Y1)代表线的起点,点(X2,Y2)代表线的终点。下面将演示如何绘制一条线形。
在一个打开的Windows应用商店项目中新建一个空白页,并命名为LinePage,双击打开此页面的LinePage.xaml文件,在Grid元素中添加如下代码。
<Line X2="200" Y2="200" Stroke="Red" StrokeThickness ="3"/>
上面的代码使用Line元素绘制了一条颜色为红色、轮廓粗细为3像素的线,并且起点为(0,0)、终点为(200,200),这里并没有定义起点而是使用了默认值。
使用后台代码可以绘制同样的线段,并将线段添加到前台界面的容器控件中。下面的示例为LinePage.xaml文件中的Grid元素命名为MyCanvas,以便在后台代码中通过该名称来引用这个Grid实例。代码如下所示:
<Grid Name="MyCanvas" Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
</Grid>
绘制线的后台代码如下所示:
public LinePage()
{
this.InitializeComponent();
//初始化line的对象
Line line = new Line();
//终点X轴坐标
line.X2 = 200;
//终点Y轴坐标
line.Y2 = 200;
//用画刷对象赋值颜色
line.Stroke = new SolidColorBrush(Colors.Red);
//设置轮廓的粗细
line.StrokeThickness=3;
//将绘制的线形添加到名字为MyCanvas控件中
MyCanvas.Children.Add(line);
}
上面的代码,通过在构造函数中使用Line类型的line对象绘制一个与使用前台方式实现效果相同的线形,并添加到名为MyCanvas的控件中。Line类型定义在 Windows.UI.Xaml.Shapes命名空间中,在为line对象的Stroke属性赋值时,用到了Colors类,这个类由Windows.UI命名空间提供支持。
运行此页面,显示效果如图8-1所示。
图8-1 线形运行效果图
Win10系列:C#应用控件进阶1的更多相关文章
- 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的核 ...
随机推荐
- 希尔排序(Python实现)
目录 1.for版本--希尔排序 2. while版本--希尔排序 3. 测试用例 4. 算法时间复杂度分析 1.for版本--希尔排序 def shell_sort_for(a_list): ''' ...
- MyBatis中调用存储过程和函数
一.调用存储过程 1.首先在数据库中定义存储过程,定义的存储过程的代码如下: //定义存储过程 create or replace procedure pag_add(p1 varchar2,p2 v ...
- Python之__slots__ &运算符重载反向运算
1.运算符重载之反向运算 class A: def __init__(self,x): self.x = x def __add__(self, other): try: x = other.x re ...
- count列表中字符出现的次数
如何count列表中字符出现的次数?可以将其生成一个字典.key是列表中的字符串,value是出现的次数 例如gen = [2, 3, 4, 5, 6, 7, 3, 4, 5, 6, 7, 8, 4, ...
- netty如何实现零拷贝
根据 Wiki 对 Zero-copy 的定义: "Zero-copy" describes computer operations in which the CPU does n ...
- Centos7.2 Install subversion server
l 安装svn yum install subversion l 查看svn版本 svnserve --version l 创建svn版本库目录 mkdir -p /projects/ ...
- Hdu2041 超级楼梯 (斐波那契数列)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2041 超级楼梯 Time Limit: 2000/1000 MS (Java/Others) M ...
- 和 (DFS)
和 Time Limit: 1000MS Memory Limit: 65536KB Total Submissions: 177 Accepted: 93 Share Description: ...
- 定位bug的基本要求
很多人觉得qa只是负责发现问题,这个实在太狭隘了,现代qa除了发现问题这种基本功外,定位问题,提出解决方案,提出预防方案也是要掌握的技能.这里先说定位问题的要求,定位问题要向深入,前提当然是对功能.产 ...
- Celery 实现异步任务-one
celery异步任务: 环境准备 安装celery ,django-celery. 就是一个专注于实时处理和任务调度的分布式队列. 可以异步执行的任务交给后台处理,以防网络阻塞,减小响应时间 cele ...