Windows Phone开发(30):图形 转:http://blog.csdn.net/tcjiaan/article/details/7453028
图形如矩形、椭圆、路径等都从Shape类派生,它们一般表示规则或不规则图形,这些图形都是简单的二维图形,我相信大家都能理解的。
例一:矩形。
请看下面的XAML代码。
- <Rectangle RadiusX="20" RadiusY="35"
- Fill="Blue"
- Canvas.Left="32" Canvas.Top="28"
- Width="200" Height="156"/>
图形比较适合在Canvas中定位,所以一系列图形的示例我都会放到Canvas中,对于Canvas的布局方式,我前面的文章中已经介绍过了。
Rectangle类表示一个矩形,RadiusX表示矩形圆角在X轴上的半径,RadiusY一样道理,Fill即填充画刷。
Rectangle类还是比较好理解,毕竟它简单。
下面我们再来看一个带轮廓的,并且用渐变画刷填充的矩形。
- <Rectangle Canvas.Left="12" Canvas.Top="210"
- Stroke="Green"
- Height="112" Width="223"
- StrokeThickness="8.5">
- <Rectangle.Fill>
- <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
- <GradientStop Color="#FF408764" Offset="0"/>
- <GradientStop Color="Gold" Offset="0.65"/>
- <GradientStop Color="#FFC697E0" Offset="1"/>
- </LinearGradientBrush>
- </Rectangle.Fill>
- </Rectangle>
Stroke是轮廓的画刷,StrokeThickness是轮廓的大小,这些属性是从Shape类派生的,因此通用于所有子类。
例二:椭圆。
Ellipse表示椭圆,同样包括正圆这一特例(高度和宽度相等),这个类的使用也是非常简单,它的所有属性都是从共同基类Shape继承而来的。
请看下面的例子。
- <Ellipse Canvas.Left="25" Canvas.Top="370"
- Width="145" Height="135"
- Stroke="Blue"
- StrokeThickness="3.8"
- Fill="Silver"/>
下图显示以上例子的运行效果。
例三:用Line绘制线段。
严格上讲,应该叫线段,因为直线是没有端点,无限延展的,而Line是有两个端点的,即开始点和结果点。
Line的使用也是很简单的,就是两个点(4个坐标),请看实例。
- <Grid>
- <Line X1="60" Y1="35"
- X2="480" Y2="450"
- Stroke="Yellow"
- StrokeThickness="9.2"/>
- </Grid>
Line放在Grid中效果比较明显,因为Canvas中要设置Left,Top等属性,这样会干扰X1,Y1,X2,Y2的设置。
运行效果如下图所示。
例四:Polygon和Polyline
我们看到,这两个家伙长得很像,应该是亲兄弟。
它们具有相同的属性。
Points:就是构成该图形的所有点的集合。
这两个家伙可能你觉得有些头晕,文档的解释可能你看不懂,但是,看不懂不等于不能用,没关系,我们先来比较一下这两兄弟有啥不同。
- <Grid>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="*"/>
- <ColumnDefinition Width="*"/>
- </Grid.ColumnDefinitions>
- <Grid.RowDefinitions>
- <RowDefinition Height="*"/>
- <RowDefinition Height="Auto"/>
- </Grid.RowDefinitions>
- <TextBlock Grid.Column="0" Grid.Row="1" Text="Polygon" HorizontalAlignment="Center" Margin="0,20" FontSize="35"/>
- <TextBlock Grid.Column="1" Grid.Row="1" Text="Polyline" HorizontalAlignment="Center" Margin="0,20" FontSize="35"/>
- <Polygon Grid.Column="0" Grid.Row="0"
- Margin="50"
- Stroke="Yellow"
- StrokeThickness="6.8"
- Stretch="Fill">
- <Polygon.Points>
- <Point X="2" Y="6"/>
- <Point X="65" Y="37"/>
- <Point X="160" Y="120"/>
- <Point X="22" Y="390"/>
- </Polygon.Points>
- </Polygon>
- <Polyline Grid.Column="1" Grid.Row="0"
- Margin="50"
- Stroke="Yellow"
- StrokeThickness="6.8"
- Stretch="Fill">
- <Polyline.Points>
- <Point X="2" Y="6"/>
- <Point X="65" Y="37"/>
- <Point X="160" Y="120"/>
- <Point X="22" Y="390"/>
- </Polyline.Points>
- </Polyline>
- </Grid>
看到了吧,一个是闭合的,一个是不闭合的,如果看不清楚,自己动手,丰衣足食。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
意见,博 客编辑器经常死掉,点发布没响应,望 CSDN早点修复漏洞。
转载于:https://www.cnblogs.com/songtzu/archive/2012/07/24/2607122.html
Windows Phone开发(30):图形 转:http://blog.csdn.net/tcjiaan/article/details/7453028相关推荐
- Windows Phone开发(28):隔离存储B 转:http://blog.csdn.net/tcjiaan/article/details/7436959...
上一节我们聊了目录的操作,这一节我们继续来看看如何读写文件. 首先说一下题外话,许多朋友都在摇摆不定,三心二意,其实这样的学习态度是很不好的,如果你对Windows phone开发有兴趣,如果你真想学 ...
- Windows Phone开发(29):隔离存储C 转:http://blog.csdn.net/tcjiaan/article/details/7447469...
本文是隔离存储的第三节,大家先喝杯咖啡放松,今天的内容也是非常简单,我们就聊一件东东--用户设置. 当然了,可能翻译为应用程序设置合适一些,不过没关系,只要大家明白,它就是用于保存我们的应用程序的设置 ...
- Windows Phone开发(39):漫谈关键帧动画上篇 转:http://blog.csdn.net/tcjiaan/article/details/7550506...
尽管前面介绍的几种动画会让觉得很好玩了,但是,不知道你是否发现,在前面说到的一系列XXXAnimation中,都有一个共同点,那就是仅仅针对两个值的目标值之间产生动画,如果使用By,将在原值和加上By ...
- Windows Phone开发(7):当好总舵主 转:http://blog.csdn.net/tcjiaan/article/details/7281421...
吹完了页面有关的话题,今天我们来聊一下页面之间是如何导航的,在更多情况下,我们的应用程序不会只有一个页面的,应该会有N个,就像我们做桌面应 用开发那样,我们一个应用程序中可能不止一个窗体(极简单的程序 ...
- Windows Phone开发(32):路径之PathGeometry 转:http://blog.csdn.net/tcjiaan/article/details/7469512...
说起路径这玩意儿,其实说的就是Path类,它藏在命名空间System.Windows.Shapes下,应该好找,它有一个很重要的属性Data,你不妨在"对象浏览器"中把它抓出来看看 ...
- Windows Phone开发(46):与Socket有个约会 转:http://blog.csdn.net/tcjiaan/article/details/7669315...
不知道大家有没有"谈Socket色变"的经历?就像我一位朋友所说的,Socket这家伙啊,不得已而用之.哈,Socket真的那么恐怖吗? 其实这话一点也不假,Socket有时候真的 ...
- Windows Phone开发(16):样式和控件模板 转:http://blog.csdn.net/tcjiaan/article/details/7367260...
在前面资源一文中也提过样式,样式就如同我们做HTML页排版时常用到的CSS样式表,它是对于特定娄型的可视化元素,应该可以直接说是针对控件的一种可重用的属性设置列表,这样对于需要设置相同属性值的同类型的 ...
- Windows Phone开发(27):隔离存储A 转:http://blog.csdn.net/tcjiaan/article/details/7425212...
在很多资料或书籍上都翻译为"独立存储",不过,我想了一下,决定将IsolatedStorage翻译为"隔离存储",我想这样会更方便大家对这一概念的理解. 关于何 ...
- Windows Phone开发(18):变形金刚第九季——变换 转:http://blog.csdn.net/tcjiaan/article/details/7385056...
变换不是一个好理解的概念,不是吓你,它涉及很多有关代数,几何,以及线性代数的知识.怎么?被我的话吓怕了?不用怕,尽管我们未必能够理解这些概念,只要我们知道怎么使用它们就是了. 其实,变换就是平面上一种 ...
最新文章
- 基于Centos7的autobahn-python+crossbar的环境搭建
- 代码下移快捷键_Intellij IDEA 快捷键大全
- 现存问题以及解决方案:在ASP.NET AJAX中从客户端向服务器端传送DataTable
- 如何提高数据安全性与可用性——行云管家堡垒机
- C语言程序练习-L1-032 Left-pad (20分)
- C# VS2017 winForm 使tableLayoutPanel 不闪烁
- HDU2553_N皇后_位运算DFS
- Python实现人工神经网络逼近股票价格
- 卢卡奇总体性原则_读书笔记|卢卡奇物化与无产阶级意识无产阶级的立场(1)...
- HDU1564 Play a game
- 《CCNA学习指南:Cisco网络设备互连(ICND1)(第4版)》——导读
- 2019五一联赛建模心得
- Python内置函数详解
- groupwise_SSL证书安装指南 - Groupwise 6 Netware Email Server
- Mac查看本地ip地址
- Windows 7 利用电脑自带工具定时开关和重启方法
- 笔记本电池电量保持在50~55%可延长电池寿命
- vivo X系列为什么能不断拉高手机上限?
- Ant简介及视频教程
- 第4-8课:方块消除游戏
热门文章
- php 数组值sum,php sum数组值(如果特定列的值重复)
- java jdbc事务管理_hibernate事务管理 (jdbc jta)
- python爬虫cookie池 与ip绑定_Python爬虫:设置Cookie解决网站拦截并爬取蚂蚁短租
- 160 - 32 genocide1
- 模拟退火算法解决np_P和NP问题与解决方案| 演算法
- linux 运维基础问题_Linux基础能力问题和解答
- oracle 查询不能重复,oracle – 如何防止在选择查询中选择重复行?
- gdb调试常用命令速查(段错误调试)
- [Linux]gdb调试多进程多线程例程
- 汇编:实现日历星期数查询工具