Silverlight中的Transform相信大家已经很熟悉了,它们有ScaleTransform, SkewTransform, RotateTransformTranslateTransform

当我们要做一些有趣的效果时,这些Transform联合起来应用也挺叫人头疼的,看着那么一大长传的xaml总是令人不爽。

而Silverlight4Beta中引入的CompositeTransform则解决了这个问题

看一下类图

接下来做个例子,只有xaml哦

<UserControl x:Class="SilverlightApplication3.MainPage" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    mc:Ignorable="d" 
    d:DesignHeight="300" d:DesignWidth="400"> 
    <UserControl.Resources> 
        <Style  TargetType="Slider"> 
            <Setter Property="Width" Value="200"/> 
        </Style> 
    </UserControl.Resources> 
    <Grid x:Name="LayoutRoot" Width="210"> 
        <StackPanel x:Name="ContentStackPanel"> 
            <Image Source="http://www.bbniu.com/core/avatar.php?uid=77&amp;size=middle" Width="120" Height="120"> 
                <Image.RenderTransform> 
                    <CompositeTransform x:Name="cr1"/> 
                </Image.RenderTransform>
 
            </Image> 
            <StackPanel Orientation="Horizontal"> 
                <TextBlock Text="CenterX"/> 
                <Slider Value="{Binding ElementName=cr1,Path=CenterX,Mode=TwoWay}"/> 
            </StackPanel> 
            <StackPanel Orientation="Horizontal"> 
                <TextBlock Text="CenterY"/> 
                <Slider Value="{Binding ElementName=cr1,Path=CenterY,Mode=TwoWay}"/> 
            </StackPanel> 
            <StackPanel Orientation="Horizontal"> 
                <TextBlock Text="Rotation"/> 
                <Slider Value="{Binding ElementName=cr1,Path=Rotation,Mode=TwoWay}"/> 
            </StackPanel> 
            <StackPanel Orientation="Horizontal"> 
                <TextBlock Text="ScaleX"/> 
                <Slider Value="{Binding ElementName=cr1,Path=ScaleX,Mode=TwoWay}"/> 
            </StackPanel> 
            <StackPanel Orientation="Horizontal"> 
                <TextBlock Text="ScaleY"/> 
                <Slider Value="{Binding ElementName=cr1,Path=ScaleY,Mode=TwoWay}"/> 
            </StackPanel> 
            <StackPanel Orientation="Horizontal"> 
                <TextBlock Text="TranslateX"/> 
                <Slider Value="{Binding ElementName=cr1,Path=TranslateX,Mode=TwoWay}"/> 
            </StackPanel> 
            <StackPanel Orientation="Horizontal"> 
                <TextBlock Text="TranslateY"/> 
                <Slider Value="{Binding ElementName=cr1,Path=TranslateY,Mode=TwoWay}"/> 
            </StackPanel> 
        </StackPanel> 
    </Grid> 
</UserControl>

相关的Transform只要那加粗的三行代码就可实现,是不是很方便呢?

F5运行后的效果如图

在线示例:http://www.bbniu.com/matrix/ShowApplication.aspx?id=28(感谢棒棒牛bbniu.com论坛)

ok.have fun~

本文转自紫色永恒51CTO博客,原文链接:http://www.cnblogs.com/024hi/archive/2009/12/12/1622723.html ,如需转载请自行联系原作者

Silverlight4Beta之CompositeTransform相关推荐

  1. Silverlight4.0教程之使用CompositeTransform复合变形特效实现倒影

    微软于PDC2009上发布Silverlight 4 Beta版,微软在Silverlight 4版本中处理了约8000个的Silverlight终端用户的请求,加入了一系列另开发人员兴奋的新特性,最 ...

  2. ITK:复制复合变换CompositeTransform

    ITK:复制复合变换CompositeTransform 内容提要 输出结果 C++实现代码 内容提要 复制CompositeTransform 输出结果 Original transform: Co ...

  3. Silverlight4Beta之与剪切板通信

    我在之前的文章<Silverlight4Beta之鼠标右键支持>中提到sl4终于支持鼠标右键了.虽然未提供上下文菜单控件,但是想来实现也并不难.而上下文菜单最普遍的操作便是复制/粘贴/剪切 ...

  4. Silverlight4Beta之RichTextArea

    Silverlight4Beta4发布了,大量的新特性让我们这些sl fans兴奋不已.接下来的日子里我会根据一些官方资料为大家介绍sl4Beta中的新玩意. 在Silverlight4中新加入的Ri ...

  5. Windows 10 开发日记(五)-- 当Binding遇到异步 -- 解决方案

    前文再续,上一章提出了问题,本章提出了三种解决方案: 解决方案一:手动进行异步转换,核心思想:将binding做的事情放入CodeBehind FilterItemControl.XAML: < ...

  6. Windows Phone 开发——相机功能开发

    原文:Windows Phone 开发--相机功能开发 相机功能是手机区别于PC的一大功能,在做手机应用时,如果合理的利用了拍照功能,可能会给自己的应用增色很多.使用Windows Phone的相机功 ...

  7. [UWP小白日记-3]记账项目-1

    原文:[UWP小白日记-3]记账项目-1 学了一段时间的UWP,来个项目试试手. 本来是想边做边学MVVMLight的结果感觉MVVM对于萌新来说太高难,以后再把这个项目改造成MVVMLight框架的 ...

  8. Windows Phone 8初学者开发—第22部分:用演示图板创建卷盘的动画

    原文 Windows Phone 8初学者开发-第22部分:用演示图板创建卷盘的动画 第22部分: 用演示图板创建卷盘的动画 原文地址:http://channel9.msdn.com/Series/ ...

  9. 27.Silverlight二维旋转+平面渐变+动画,模拟雷达扫描图之基本框架

    在现实生活中的雷达运行扫描到物体的某一些属性(比如:速度,频率)超过安全范围值将会报警.在实际的某一些项目中(比如监控系统),我们也想制作一个雷达扫描图来模拟扫描各种设备那么应该如何做呢? 我们将各种 ...

最新文章

  1. 即构推出小程序连麦直播方案,与iOSAndroid APP互通连麦!
  2. 剑指 offer set 19 翻转单词顺序 字符串左旋
  3. groovy --不注意的小错误(java.lang.String.positive() is applicable)
  4. MongoDB——Shell的基本操作及使用窍门
  5. 210129阶段三调试、进程间通信-共享内存
  6. 菜鸟教程中Java语法(Java教程+Java面向对象)
  7. Mysql和Redis数据同步该怎么做
  8. 一路走来一路歌—我和团队有个约会
  9. [转帖]javascript做浮点数运算精确问题
  10. 本地环境测试二级域名
  11. 在防火墙中安装ASDM
  12. Trajan/强连通(石油大学组队赛 B: Thrall’s Dream)
  13. Linux Thermal机制源码分析之Thermal zone
  14. 【Codecs系列】HEVC标准(十二):参考帧管理RPS技术
  15. 【JMeter】后置处理器之JSON提取器
  16. 关于react、vue的一些问题
  17. 个人介绍 php 怎么说,个人介绍怎么写
  18. 浏览器兼容性工具 Spoon Browser Sandbox
  19. 【电力系统】经济调度、最优潮流、机组组合
  20. PCBA老化测试是什么,老化测试标准是什么?

热门文章

  1. 033-Unit 12 Introduction to String Processiong
  2. 如何让采集的数据比原创还要原创!
  3. c语言请编写函数mygets,c语言中请编写函数mygets和myputs,其功能分别与gets与puts相同,函数中用getchar和putchar读入和输出字符...
  4. python 可变参数 关键字参数_Python之 可变参数和关键字参数
  5. 封条格式用word怎么打_大门封条格式用word怎么打
  6. 第四范式受邀参加信息技术大讲堂 共探新基建发展趋势
  7. visual basic.net 2019-当前内存状态、字符串内插、操作系统系统信息
  8. python3随笔-协方差,标准差,方差
  9. 如何看待今年考研分数线大涨
  10. 【时间序列】时间序列建模的时间戳与时序特征衍生思路