zoukankan      html  css  js  c++  java
  • Blend生成的TransformGroup如何引用?

    很多时候,blend在制作动画时,会自动为对象生成如下代码:

    <Rectangle Fill="White" Stroke="Black" HorizontalAlignment="Center" VerticalAlignment="Center" Width="300" Height="30" RenderTransformOrigin="0.5,0.5" x:Name="rect">
        
    <Rectangle.RenderTransform>
         
    <TransformGroup>
          
    <ScaleTransform/>
          
    <SkewTransform/>
          
    <RotateTransform/>
          
    <TranslateTransform/>
         
    </TransformGroup>
        
    </Rectangle.RenderTransform>
       
    </Rectangle>


    如果想在cs代码中动态控制,就得先知道如何引用它们,在不借助x:Name的情况下,可以这么做: 

    private void Button_Click(object sender, RoutedEventArgs e)
            {            

                
    RotateTransform r = (rect.RenderTransform as TransformGroup).Children[2as RotateTransform;

                DoubleAnimation dblAnim 
    = new DoubleAnimation() { Duration = TimeSpan.FromSeconds(1), To = 135.0, EasingFunction = new BackEase() { EasingMode = EasingMode.EaseInOut } };         

                Storyboard.SetTarget(dblAnim, r);
                Storyboard.SetTargetProperty(dblAnim, 
    new PropertyPath(RotateTransform.AngleProperty));

                Storyboard sb 
    = new Storyboard();
                sb.Children.Add(dblAnim);           
                sb.AutoReverse 
    = true;
                sb.Begin();           

            }
        }

    上面的代码,将生成一段动画:1秒钟内将矩形旋转135度       

    作者:菩提树下的杨过
    出处:http://yjmyzz.cnblogs.com
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    光盘和U盘
    解决时间同步
    僵尸进程 和 孤儿进程
    Centos虚拟机设置网络模式
    常用CDN 和 后台管理模板
    微信小程序wxs如何使用
    kubernetes/client-go--使用 Clientset 获取 Kubernetes 资源对象
    samplecontroller
    volcano
    DNS欺骗
  • 原文地址:https://www.cnblogs.com/yjmyzz/p/1631564.html
Copyright © 2011-2022 走看看