上一节中,我们把最复杂的PathGeometry给干了,生剩下几个家伙就好办事了。一起来见见他们的真面目吧。

一、LineGeometry

这个几何图形就很简单了,一条线段,两个点——StartPoint And EndPoint。

一起来看看下面的例子。

[html] view plaincopyprint?
  1. <Path Grid.Column="0" Grid.Row="0">
  2. <Path.Data>
  3. <LineGeometry StartPoint="20,5" EndPoint="200,320"/>
  4. </Path.Data>
  5. </Path>

运行之后你会看到以下情景:

二、RectangleGeometry

它呈现一人矩形的几何图形,Rect指示其中矩形的位置大小,在XAML中可以用4个数值表示,即X、Y、Width、Height;别外,RadiusX和RadiusY表示圆角在X轴和Y轴上的半径。看下面的例子。

[html] view plaincopyprint?
  1. <Path Grid.Column="1" Grid.Row="0">
  2. <Path.Data>
  3. <RectangleGeometry Rect="12,6,125,90" RadiusX="24" RadiusY="30"/>
  4. </Path.Data>
  5. </Path>

运行效果如下图所示。

三、EllipseGeometry

表示一个椭圆的几何图形,Center属性为椭圆的中心点的坐标,RadiusX和RadiusY分别为X轴方向上和Y轴方向上的半径长度。看例子。

[html] view plaincopyprint?
  1. <Path Grid.Column="0" Grid.Row="1">
  2. <Path.Data>
  3. <EllipseGeometry Center="100,180" RadiusX="55" RadiusY="120"/>
  4. </Path.Data>
  5. </Path>

运行效果如下:

四、GeometryGroup

严格上说,它不属性一种几何图形,但它很有用,因为它可以同时包含N个几何图形,如下面例子所示。

[html] view plaincopyprint?
  1. <Path Grid.Column="1" Grid.Row="1">
  2. <Path.Data>
  3. <GeometryGroup>
  4. <LineGeometry StartPoint="32,185" EndPoint="180,230"/>
  5. <RectangleGeometry Rect="35,85,136,96" RadiusX="25" RadiusY="5"/>
  6. <EllipseGeometry Center="112,130" RadiusX="45" RadiusY="36"/>
  7. </GeometryGroup>
  8. </Path.Data>
  9. </Path>

运行效是如下所示:

下面是本节示例的完整XAML代码。

[html] view plaincopyprint?
  1. <phone:PhoneApplicationPage
  2. x:Class="Sample.MainPage"
  3. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  4. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  5. xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
  6. xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
  7. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  8. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  9. mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"
  10. FontFamily="{StaticResource PhoneFontFamilyNormal}"
  11. FontSize="{StaticResource PhoneFontSizeNormal}"
  12. Foreground="{StaticResource PhoneForegroundBrush}"
  13. SupportedOrientations="Portrait" Orientation="Portrait"
  14. shell:SystemTray.IsVisible="True">
  15. <phone:PhoneApplicationPage.Resources>
  16. <Style TargetType="Path">
  17. <Setter Property="HorizontalAlignment" Value="Stretch"/>
  18. <Setter Property="VerticalAlignment" Value="Stretch"/>
  19. <Setter Property="Margin" Value="20"/>
  20. <Setter Property="Stroke" Value="Blue"/>
  21. <Setter Property="StrokeThickness" Value="8"/>
  22. </Style>
  23. </phone:PhoneApplicationPage.Resources>
  24. <Grid>
  25. <Grid.ColumnDefinitions>
  26. <ColumnDefinition Width="*"/>
  27. <ColumnDefinition Width="*"/>
  28. </Grid.ColumnDefinitions>
  29. <Grid.RowDefinitions>
  30. <RowDefinition Height="*"/>
  31. <RowDefinition Height="*"/>
  32. </Grid.RowDefinitions>
  33. <Path Grid.Column="0" Grid.Row="0">
  34. <Path.Data>
  35. <LineGeometry StartPoint="20,5" EndPoint="200,320"/>
  36. </Path.Data>
  37. </Path>
  38. <Path Grid.Column="1" Grid.Row="0">
  39. <Path.Data>
  40. <RectangleGeometry Rect="12,6,125,90" RadiusX="24" RadiusY="30"/>
  41. </Path.Data>
  42. </Path>
  43. <Path Grid.Column="0" Grid.Row="1">
  44. <Path.Data>
  45. <EllipseGeometry Center="100,180" RadiusX="55" RadiusY="120"/>
  46. </Path.Data>
  47. </Path>
  48. <Path Grid.Column="1" Grid.Row="1">
  49. <Path.Data>
  50. <GeometryGroup>
  51. <LineGeometry StartPoint="32,185" EndPoint="180,230"/>
  52. <RectangleGeometry Rect="35,85,136,96" RadiusX="25" RadiusY="5"/>
  53. <EllipseGeometry Center="112,130" RadiusX="45" RadiusY="36"/>
  54. </GeometryGroup>
  55. </Path.Data>
  56. </Path>
  57. </Grid>

转载于:https://www.cnblogs.com/songtzu/archive/2012/07/24/2607116.html

Windows Phone开发(33):路径之其它Geometry 转:http://blog.csdn.net/tcjiaan/article/details/7483835...相关推荐

  1. Windows Phone开发(32):路径之PathGeometry 转:http://blog.csdn.net/tcjiaan/article/details/7469512...

    说起路径这玩意儿,其实说的就是Path类,它藏在命名空间System.Windows.Shapes下,应该好找,它有一个很重要的属性Data,你不妨在"对象浏览器"中把它抓出来看看 ...

  2. Windows Phone开发(28):隔离存储B 转:http://blog.csdn.net/tcjiaan/article/details/7436959...

    上一节我们聊了目录的操作,这一节我们继续来看看如何读写文件. 首先说一下题外话,许多朋友都在摇摆不定,三心二意,其实这样的学习态度是很不好的,如果你对Windows phone开发有兴趣,如果你真想学 ...

  3. Windows Phone开发(27):隔离存储A 转:http://blog.csdn.net/tcjiaan/article/details/7425212...

    在很多资料或书籍上都翻译为"独立存储",不过,我想了一下,决定将IsolatedStorage翻译为"隔离存储",我想这样会更方便大家对这一概念的理解. 关于何 ...

  4. Windows Phone开发(39):漫谈关键帧动画上篇 转:http://blog.csdn.net/tcjiaan/article/details/7550506...

    尽管前面介绍的几种动画会让觉得很好玩了,但是,不知道你是否发现,在前面说到的一系列XXXAnimation中,都有一个共同点,那就是仅仅针对两个值的目标值之间产生动画,如果使用By,将在原值和加上By ...

  5. Windows Phone开发(7):当好总舵主 转:http://blog.csdn.net/tcjiaan/article/details/7281421...

    吹完了页面有关的话题,今天我们来聊一下页面之间是如何导航的,在更多情况下,我们的应用程序不会只有一个页面的,应该会有N个,就像我们做桌面应 用开发那样,我们一个应用程序中可能不止一个窗体(极简单的程序 ...

  6. Windows Phone开发(46):与Socket有个约会 转:http://blog.csdn.net/tcjiaan/article/details/7669315...

    不知道大家有没有"谈Socket色变"的经历?就像我一位朋友所说的,Socket这家伙啊,不得已而用之.哈,Socket真的那么恐怖吗? 其实这话一点也不假,Socket有时候真的 ...

  7. Windows Phone开发(29):隔离存储C 转:http://blog.csdn.net/tcjiaan/article/details/7447469...

    本文是隔离存储的第三节,大家先喝杯咖啡放松,今天的内容也是非常简单,我们就聊一件东东--用户设置. 当然了,可能翻译为应用程序设置合适一些,不过没关系,只要大家明白,它就是用于保存我们的应用程序的设置 ...

  8. Windows Phone开发(16):样式和控件模板 转:http://blog.csdn.net/tcjiaan/article/details/7367260...

    在前面资源一文中也提过样式,样式就如同我们做HTML页排版时常用到的CSS样式表,它是对于特定娄型的可视化元素,应该可以直接说是针对控件的一种可重用的属性设置列表,这样对于需要设置相同属性值的同类型的 ...

  9. Windows Phone开发(13):如何规范用户的输入行为 转:http://blog.csdn.net/tcjiaan/article/details/7341513...

    很多时候,我们对用户的操作或输入做一定程度的限制,以避免发生不必要的异常或错误,因此,对一些特殊的类型,进行输入限制是很有必要的. 通改变屏幕键盘的显示模式可以规范和告诉用户, 这里应该输入什么. 要 ...

  10. Windows Phone开发(30):图形 转:http://blog.csdn.net/tcjiaan/article/details/7453028

    图形如矩形.椭圆.路径等都从Shape类派生,它们一般表示规则或不规则图形,这些图形都是简单的二维图形,我相信大家都能理解的. 例一:矩形. 请看下面的XAML代码. [html] view plai ...

最新文章

  1. java this context,java – Spring XML中applicationcontext的“this”引用
  2. 腾讯首席战略官詹姆斯: 从互联网信息的永久性和稀缺性看腾讯的投资逻辑
  3. Ajax回退刷新页面问题的解决办法
  4. 图解字符串的朴素模式匹配算法
  5. (树)判断二叉树是否为BST
  6. 中國批准英特爾在東北投建晶片廠
  7. 重写Java Object类中的equals()方法
  8. Excel单元格里面提取或去掉某些字符
  9. 无法定位程序输入点 _ZdaPvj 于动态链接库 libstdc++-6.dll
  10. python小白如何看报错?实用三步法
  11. 原版98启动盘镜像.img_装机技巧系列(二):系统安装之Windows 10启动盘制作
  12. windows 拖拽功能
  13. h5项目解决苹果手机iOS系统字体放大问题
  14. 国内身份证号码的正则验证
  15. 单摄像机对于二维平面的测量
  16. JavaScript生成PDF
  17. 太原学院的计算机科学与技术学院,太原 学院新校区计算机科学与技术
  18. 【Office】office 2016批量版和零售版(包含Visio)
  19. edge浏览器 查看MD文件
  20. 向阅读致敬!微信读书产品设计策略推导

热门文章

  1. spring 事务隔离级别和传播行为_Spring 事务传播行为
  2. 微信小程序wx.navigateTo无法跳转
  3. java基本运算方法总结(ing)
  4. Asp.Net NPOI excl文件导入导出
  5. python对象的深复制与浅复制
  6. 实现Canvas2D绘图 使元素绕中心居中旋转
  7. memcached(五)--源码分析,启动
  8. 将Excel(.xlsx)中的数据导入到数据库中
  9. Ancient Knight(打造Windows Mobile平台最专业的游戏修改器)
  10. C# .Net中的类型转换(5)