原文:windows phone (15) UI变换上

在wp中只要是继承自UIElement 的任何对象都可以应用变换,当然包含Textblock,Rectangle等所有的元素,下面我们使用Textblock进行案例演示,这里会介绍到7中变换分别是:

TransLateTransForm移动位置,包含水平移动和垂直移动

ScaleTransform缩放变换 对UI进行放大缩小 包含X轴上的缩放和Y轴上的缩放

RotateTransform旋转 根据定义的旋转点设置角度进行旋转

SkewTransform对UI进行一定角度的倾斜

MatrixTransfrom 矩阵变换,一句标准矩阵表示的变换

TransformGroup 复合变换按照指定顺序将多个变换复合为一个变换

CompositeTransform 组合变换按照固定顺序组合一系列变换

这里使用变换需要用到UIElement定义的RenderTransform属性进行设置变换

TransLateTransForm

代码示例:

<Grid x:Name="ContentPanel" Grid.Row="" Margin="12,0,12,0">            <TextBlock x:Name="tb1" FontSize="" HorizontalAlignment="Center" VerticalAlignment="Center" Text="变换文字示例"  Foreground="Cyan"></TextBlock>            <TextBlock x:Name="tbShow" FontSize="" VerticalAlignment="Center" HorizontalAlignment="Center" Text="变换文字示例"  Foreground="Cyan">                <TextBlock.RenderTransform>                    <TranslateTransform X="-2" Y=""></TranslateTransform>                </TextBlock.RenderTransform>            </TextBlock>        </Grid>

从上面xaml文件中可以看到定义的移动位置,X表示在x轴上移动多少,此值为正表示向右移动相应位置,为负表示向左移动相应位置;Y表示在Y轴上移动多少,同理Y值为正向上移动相应位置,为负向下移动相应位置;效果图见下:

ScaleTransform

代码示例:

 <Grid x:Name="ContentPanel" Grid.Row="" Margin="12,0,12,0">            <TextBlock x:Name="tbShow"  VerticalAlignment="Center" HorizontalAlignment="Center" Text="变换文字示例"  Foreground="Cyan">                <TextBlock.RenderTransform>                    <ScaleTransform ScaleX=""  ScaleY="" CenterX="" CenterY="" ></ScaleTransform>                </TextBlock.RenderTransform>            </TextBlock>        </Grid>

在这里ScaleTransform设置了四个属性,CenterX 和CenterY表示设置变换的点这里的点坐标是(20 30),ScaleX和ScaleY表示的是在X和Y方向上缩放的倍数,这里可以是小数,当设置的数值大于0时会实现缩放功能,但是等于0的时候文字就消失不见了,都小于0的时候效果是文字进行左右和上下倒置

上面代码的效果 ,使textblock元素高和宽都增大两倍

当我们把ScaleX和ScaleY都改为负值的时候会是这样子

RotateTransform

代码示例:

 <Grid x:Name="ContentPanel" Grid.Row="" Margin="12,0,12,0">            <TextBlock x:Name="tb1" FontSize="" HorizontalAlignment="Center" VerticalAlignment="Center" Text="变换文字示例1"  Foreground="Cyan">                <TextBlock.RenderTransform>                   <RotateTransform Angle="" CenterX="" CenterY=""></RotateTransform>                </TextBlock.RenderTransform>            </TextBlock>            <TextBlock x:Name="tbShow" FontSize="" VerticalAlignment="Center" HorizontalAlignment="Center" Text="变换文字示例2"  Foreground="Cyan">                <TextBlock.RenderTransform>                   <RotateTransform Angle="-30" CenterX="" CenterY=""></RotateTransform>                </TextBlock.RenderTransform>            </TextBlock>        </Grid>

这里的CenterX 和CenterY也表示定义的变换点,Angle表示定义的角度,上面可以看出角度是分正负值的,当为0时也就是没角度,无任何变换,实现的效果:

SkewTransform

代码示例:

<Grid x:Name="ContentPanel" Grid.Row="" Margin="12,0,12,0">            <TextBlock x:Name="tbShow" FontSize="" VerticalAlignment="Center" HorizontalAlignment="Center" Text="变换文字示例"  Foreground="Cyan">                <TextBlock.RenderTransform>                    <SkewTransform AngleX="" AngleY=""></SkewTransform>                </TextBlock.RenderTransform>            </TextBlock>        </Grid>
SkewTransform 表示基于某个变换点,在X轴和Y轴上的倾斜角度,上面设置的两个属性AngleX表示在X轴上的倾斜角度,AngleY表示在Y轴上的倾斜角度,变换点默认为(0 0);就像上一个示例代码一样,角度也是分正负值的,等于0时没有任何角度变换,效果图:

话说这个还是比较实用的;

你会发现基于某个点的变换,他们都会跑出Grid内容区域;好了写到这里下一篇继续···

跬步积千里

windows phone (15) UI变换上的更多相关文章

  1. 背水一战 Windows 10 (15) - 动画: 缓动动画

    [源码下载] 背水一战 Windows 10 (15) - 动画: 缓动动画 作者:webabcd 介绍背水一战 Windows 10 之 动画 缓动动画 - easing 示例演示缓动(easing ...

  2. 背水一战 Windows 10 (2) - UI: 概述, 启动屏幕, 屏幕方向

    [源码下载] 背水一战 Windows 10 (2) - UI: 概述, 启动屏幕, 屏幕方向 作者:webabcd 介绍背水一战 Windows 10 之 UI UI 设计概述 启动屏幕(闪屏) 屏 ...

  3. 背水一战 Windows 10 (5) - UI: 标题栏

    [源码下载] 背水一战 Windows 10 (5) - UI: 标题栏 作者:webabcd 介绍背水一战 Windows 10 之 UI 标题栏 示例TitleBarDemo.xaml <P ...

  4. 背水一战 Windows 10 (4) - UI: 多窗口

    [源码下载] 背水一战 Windows 10 (4) - UI: 多窗口 作者:webabcd 介绍背水一战 Windows 10 之 UI 多窗口 示例1.自定义帮助类,用于简化 Secondary ...

  5. 背水一战 Windows 10 (3) - UI: 窗口全屏, 窗口尺寸

    [源码下载] 背水一战 Windows 10 (3) - UI: 窗口全屏, 窗口尺寸 作者:webabcd 介绍背水一战 Windows 10 之 UI 窗口全屏 窗口尺寸 示例1.窗口全屏UI/F ...

  6. 不可或缺 Windows Native (15) - C++: 命名空间

    [源码下载] 不可或缺 Windows Native (15) - C++: 命名空间 作者:webabcd 介绍不可或缺 Windows Native 之 C++ 命名空间 示例CppNamespa ...

  7. 与众不同 windows phone (15) - Media(媒体)之后台播放音频

    原文:与众不同 windows phone (15) - Media(媒体)之后台播放音频 [索引页][源码下载] 与众不同 windows phone (15) - Media(媒体)之后台播放音频 ...

  8. windows phone (16) UI变换 下

    原文:windows phone (16) UI变换 下 上一篇中说到四个变换类,都是比较简单的,这里要说到四个变换类,分别为: MatrixTransfrom矩阵变换,一句标准矩阵表示的变换 Tra ...

  9. 收集Windows 8 Metro UI 风格网站资源,觉得不错的顶啊!!

    这些资源包含:模板,框架,jQuery插件,图标集等.帮助你快速开发Windows 8 Metro UI风格的网站.本文转自虾米站长网 Frameworks & Templates For M ...

随机推荐

  1. 友情转发一则Erlang招聘广告

    新锐手游开发公司WalkYY,招聘Erlang游戏服务端开发工程师若干名,要求有半年以上Erlang游戏服务端开发经验,熟悉Erlang OTP和MySQL数据库.公司团队靠谱,发展空间大,有意者请发 ...

  2. Android应用开发学习笔记之绘图

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 一.绘图常用类介绍 在Android中绘图时,常用到的几个类是Paint.Canvas.Bitmap和Bitmapt ...

  3. 用Stack实现对多线程的管理范例

    多线程就是并发技术,当线程数量超过一定数量时,系统响应就会变慢,所以就必须对线程数量进行控制,那么采用哪种控制方法呢?采用Stack类模仿堆栈,之所以说是模仿,就是因为Stack类毕竟不是真实的堆栈, ...

  4. &lt;ctype.h&gt; C语言标准库

    ctype.h是C标准函数库中的头文件,定义了一批C语言字符分类函数(C character classification functions),用于測试字符是否属于特定的字符类别.如字母字符.控制字 ...

  5. struts 2吊牌s:if 、s:iterator注意

    疏忽,也没有相应的总结.实际上JSTL标签Struts2标签混淆.导致一些上述问题的细节.今天我给从下一个总结,同 后不要再犯这种错误. 总喜欢在s:if标签里面使用$,导致各种数据读不出来. str ...

  6. NET Core全新的配置管理

    NET Core全新的配置管理[共9篇] 提到“配置”二字,我想绝大部分.NET开发人员脑海中会立马浮现出两个特殊文件的身影,那就是我们再熟悉不过的app.config和web.config,多年以来 ...

  7. Mysql自增主键ID重新排序方法详解

    Mysql数据库表的自增主键ID号乱了,需要重新排列. 原理:删除原有的自增ID,重新建立新的自增ID. 1,删除原有主键: ALTER TABLE `table_name` DROP `id`; 2 ...

  8. SQL中如何将一个表中的某一列的数据复制到另一个表中的某一列里

    表一: SPRD PRD_NO      SPC 001                NULL 002               NULL 003               NULL ...   ...

  9. Java抓取网页数据(原来的页面+Javascript返回数据)

    转载请注明出处! 原文链接:http://blog.csdn.net/zgyulongfei/article/details/7909006 有时候因为种种原因,我们须要採集某个站点的数据,但因为不同 ...

  10. [计算机基础]HTTP协议学习笔记

    HTTP:Hypertext transfer protocol超文本传输协议是一种详细规定了浏览器和Internet之间互相通信的规则 HTTP允许传输任意类型的数据对象,由Content-Type ...