• Silverlight中C#写动画设置


    http://www.cnblogs.com/ListenFly/archive/2011/10/09/2200725.html   这篇文章里面

    Silverlight中动画的 Storyboard.TargetProperty设置

    非常详细地讲解了关于Silverlight中动画的TargetProperty设置。但是对于我来说,貌似还是没有解决我的问题。

    经过不懈的百度终于解决了,在这里讲我自己的解决过程记录下来:

    首先我查看了sl4的中文开发文档,发现文档里面UIElement::RenderTransform的一句描述如下:

    这通常是由 Silverlight 定义的变换之一:RotateTransformScaleTransformSkewTransformTranslateTransformMatrixTransformTransformGroup

    经过实践发现,还有一种CompositeTransform:

    包含的属性:

    Name (DependencyObject), CenterX, CenterY, Rotation, ScaleX, ScaleY, SkewX, SkewY, TranslateX, TranslateY

    以上全部的都查找之后发现。只有这个没有出现在文档中的存在TranslateX, TranslateY这两个属性。

    为什么需要找这两个属性呢?因为我本身在Blend 4中使用Blend生成的,在Grid控件里面添加其他控件的移动动画的时候发现绑定的目标属性是:

    Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)"  于是直接使用引号里面的东东。

    运行调试-报错“无法解析指定对象的 TargetProperty (UIElement.RenderTransform).(CompositeTransform.TranslateY)”然后各种悲剧。没办法,继续度娘。

    这次发现无法解析的原因就是因为:

    sp.RenderTransform = new CompositeTransform();

    这个RenderTransform没有生命或者声明错误了导致的。赶紧改好。

     再次运行---一起OK,动画有了。。。我只是单纯的使用Y轴偏移做了一个事例。

    大家喜欢尝试的可以设置不同的TargetProperty自己体验

    DoubleAnimation aniY = new DoubleAnimation()
                    {
                        From = 0,
                        Duration = new Duration(new TimeSpan(0, 0, 0, 2))
                    };
    
                   aniY.To = 100;
    //下面这句非常重要,否则无法解析TargetProperty
                    sp.RenderTransform = new CompositeTransform();
    
                    Storyboard.SetTarget(aniY, sp);
                    Storyboard.SetTargetProperty(aniY, new PropertyPath("(UIElement.RenderTransform).(CompositeTransform.TranslateY)"));
    
                    Storyboard story = new Storyboard();
                    story.Children.Add(aniX);
                    story.Children.Add(aniY);
                    story.Begin();
  • 相关阅读:
    flutter 3des
    flutter踩坑记
    【OS_Windows】彻底关闭windows10自动更新
    使用 httpclient 上传下载文件
    git操作
    jmeter在Windows下请求https的接口
    python xlsxwriter简单使用
    asp.net core webapi 文件下载实现
    使用微信小程序连接到 MQTT 云服务
    MQTT.js 入门教程
  • 原文地址:https://www.cnblogs.com/zou90512/p/2670050.html
Copyright © 2020-2023  润新知