原文:windows phone (14) 简单了解Ellipse元素和Rectangle元素

 System.Windows.Shapes命名空间中包含了显示矢量图形的元素分别为ellipse和rectangle;

表示绘制一个椭圆,是派生自Shapes命名空间,比如下面的例子:

        <!--ContentPanel - 在此处放置其他内容-->        <Grid x:Name="ContentPanel" Grid.Row="" Margin="12,0,12,0">            <Ellipse Fill="b" Stroke="WhiteSmoke" StrokeThickness=""                 ></Ellipse>        </Grid>

上面代码的Fill属性表明是填充的颜色,Stroke属性是表示描边的颜色,StrokeThickness是表示轮廓的宽度,单位是像素,其中Fill和Stroke属性都是Brush类型的,所以我们自定义他们的颜色,比如实现渐变效果;他的显示效果比较像鸡蛋切片,有木有

但是如果你在textblock标签中添加这两个属性

 VerticalAlignment="Center" HorizontalAlignment="Center"

整个挥之区域都不见了,原因是当ellipse所在的容器允许的情况下,ellipse会填充满这个容器区域,但是如果被强制缩小,比如加上上面两个属性,那么绘制区域就会无限制的缩小,直至看不到,所以对绘制区域限制大小就变为必须的,限制大小的属性就是宽(width)和高(height),当我们设置宽和高的时候,整个绘制区域就会变为圆形,比如:

 <!--ContentPanel - 在此处放置其他内容-->        <Grid x:Name="ContentPanel" Grid.Row="" Margin="12,0,12,0">            <Ellipse Fill="Fuchsia" Stroke="WhiteSmoke" StrokeThickness="" Width="" Height=""                ></Ellipse>        </Grid>

效果:

下面用ellipse做出的效果是类似于三维图形的一个圆,前提是设置宽和高相同:

    <Grid x:Name="ContentPanel" Grid.Row="" Margin="12,0,12,0">            <Ellipse  Width="" Height="">                <Ellipse.Fill>                    <RadialGradientBrush  GradientOrigin="0.4 0.4" >                        <GradientStop Offset="" Color="White"></GradientStop>                        <GradientStop Offset="" Color="Red"></GradientStop>                    </RadialGradientBrush>                </Ellipse.Fill>            </Ellipse>        </Grid>

效果:

由于设置的白色中心点是坐标 0.4 0.4 ,偏移离与中心坐标0.5 .05 所以显示看起来有种立体感。

Rectangle

是绘制成一个矩形,也是继承自shape类,比如下面的例子

            <Rectangle Height="" Width="" Fill="Brown" Stroke="Beige" StrokeThickness=""></Rectangle>

上面代码中的属性和ellipse中的用法一样,效果:

rectang还有ellipse不具有的两个属性,RadiusX和RadiusY

<Rectangle Height="" Width="" Fill="Brown"                       RadiusX=""                       RadiusY=""                       Stroke="Beige" StrokeThickness="">                            </Rectangle>

其中RadiusX表示在X轴方向使矩形的角变圆的椭圆的 x 轴半径,RadiausY表示是矩形的角变圆的椭圆的Y轴半径,注意,如果要使矩形的角变圆,这两个值都不能为空,因为圆角的形成是通过X轴和Y轴根据定义的长度进行画椭圆得到,然后通过交汇形成圆角,还有就是里的RadiausX设置的值一定是小于或等于设置的宽度值,如果设置的是负值,系统也会认为值为正值;

效果图:

跬步积千里 坚持  wp新群:42182428

windows phone (14) 简单了解Ellipse元素和Rectangle元素的更多相关文章

  1. 背水一战 Windows 10 (14) - 动画: 线性动画, 关键帧动画

    [源码下载] 背水一战 Windows 10 (14) - 动画: 线性动画, 关键帧动画 作者:webabcd 介绍背水一战 Windows 10 之 动画 线性动画 - ColorAnimatio ...

  2. windows系统下简单nodej.s环境配置 安装

    国内目前关注最高,维护最好的一个关于nodejs的网站应该是http://www.cnodejs.org/ windows系统下简单nodejs环境配置. 第一步:下载安装文件 下载地址:官网 htt ...

  3. 不可或缺 Windows Native (14) - C++: 文件

    [源码下载] 不可或缺 Windows Native (14) - C++: 文件 作者:webabcd 介绍不可或缺 Windows Native 之 C++ 文件 示例CppIO2.h #prag ...

  4. c语言描述简单的线性表,获取元素,删除元素,

    //定义线性表 #define MAXSIZE 20 typedef int ElemType; typedef struct { ElemType data[MAXSIZE]; //这是数组的长度, ...

  5. 与众不同 windows phone (14) - Media(媒体)之音频播放器, 视频播放器, 与 Windows Phone 的音乐和视频中心集成

    原文:与众不同 windows phone (14) - Media(媒体)之音频播放器, 视频播放器, 与 Windows Phone 的音乐和视频中心集成 [索引页][源码下载] 与众不同 win ...

  6. 老司机实战Windows Server Docker:3 单节点Windows Docker服务器简单运维(上)

    经过上两篇实战Windows Server Docker系列文章,大家对安装Windows Docker服务以及如何打包现有IIS应用为docker镜像已经有了基本认识.接下来我们来简单讲讲一些最基本 ...

  7. 老司机实战Windows Server Docker:4 单节点Windows Docker服务器简单运维(下)

    上篇中,我们主要介绍了使用docker-compose对Windows Docker单服务器进行远程管理,编译和部署镜像,并且设置容器的自动启动.但是,还有一些重要的问题没有解决,这些问题不解决,就完 ...

  8. windows集群简单介绍

    windows集群简单介绍仔细看过以前网友发表的一些文章,总觉得对windows集群没有详细介绍,我也是借花献佛,引用了一些技术性文档.目前应用最为广泛的集群计算技术可以分为三大类:高可用性集群技术. ...

  9. windows系统下简单nodejs安装及环境配置

      相信对于很多关注javascript发展的同学来说,nodejs已经不是一个陌生的词眼,这里不想谈太多的nodejs的相关信息.只说一下,windows系统下简单nodejs环境配置     相信 ...

随机推荐

  1. 【OpenMesh】Some basic operations: Flipping and collapsing edges

    这一节中你将学到一些OpenMesh中早已提供的基础操作. 内容包括三角形网格边的翻转以及通过连接邻接的顶点边缘折叠. 三角形网格的翻转(Flipping edges) 考虑到两个邻接面的三角形网格中 ...

  2. 将单词首字母大写的JS脚本工具

    <html> <head> <title>首字母全改为大写JS脚</title> <SCRIPT LANGUAGE="JavaScrip ...

  3. mooon编译系统介绍(可复用Makefile)

    mooon编译系统介绍(可复用Makefile).pdf(ChinaUnix下载) CSDN下载:http://download.csdn.net/detail/aquester/5626929 mo ...

  4. 14.4.3.1 The InnoDB Buffer Pool

    14.4.3.1 The InnoDB Buffer Pool 14.4.3.2 Configuring Multiple Buffer Pool Instances 14.4.3.3 Making ...

  5. python爬行动物集合360联想词搜索

    想法和一些代码引用邸一幕python培训黄哥python爬虫联想词视频,但是太罗嗦.顺便整理,而到现在为止,360不傻.它已演变,用原来的方式,有些bug,这接着说. 正题例如以下: 语言:pytho ...

  6. Android中canvas.save()和canvas.restore()的使用

    自己定义控件时经常遇到重写View的Ondraw()方法,Ondraw()方法经常设计到save()和restore()这两个方法.这两个相互匹配出现的,作用是用来保存画布的状态和取出保存的状态的. ...

  7. CreateThread、_beginthreadex和AfxBeginThread 的区别

    CreateThread._beginthreadex和AfxBeginThread 创建线程好几个函数可以使用,可是它们有什么区别,适用于什么情况呢?参考了一些资料,写得都挺好的,这里做一些摘抄和整 ...

  8. Exception in thread &quot;main&quot; java.lang.IllegalArgumentException

    1.错误叙述性说明 Exception in thread "main" java.lang.IllegalArgumentException: Cannot format giv ...

  9. hdu5171(矩阵快速幂)

    传送门:GTY's birthday gift 题意:GTY的朋友ZZF的生日要来了,GTY问他的基友送什么礼物比较好,他的一个基友说送一个可重集吧!于是GTY找到了一个可重集S,GTY能使用神犇魔法 ...

  10. linux内核笔记-内核同步

    linux内核就相当于不断对请求进行响应的服务器,这些请求可能来自CPU,可能来自发出中断的外部设备.我们将内核看作两种请求的侍者. (1)老板提出请求,侍者如果空闲,为老板服务.(系统调用或异常) ...