zoukankan      html  css  js  c++  java
  • DoubleAnimation方法

    现在silverlight中还不支持直接用c#代码来创建动画,只能通过XamlReader来加载storyboard。
    今天看了DoubleAnimation这个方法。可以动态的设置属性。   这里就很奇怪。我动态的new出来的巨型一直不发生变化。而直接在舞台上画出的巨型就能发生变化。
    研究了好久才发现DoubleAnimation只能操作已经声明过的属性。
        <Rectangle Width="46" Height="41" Fill="#FFA74545" Stroke="#FF000000" Canvas.Left="154"
    Canvas.Top
    ="262" x:Name="ox" RenderTransformOrigin="0.5,0.5">
            <Rectangle.RenderTransform>
                
    <TransformGroup>
                    
    <ScaleTransform ScaleX="1" ScaleY="1"/>
                    
    <SkewTransform AngleX="0" AngleY="0"/>
                    
    <RotateTransform Angle="34.744"/>
                    
    <TranslateTransform X="0" Y="0"/>
                
    </TransformGroup>
            
    </Rectangle.RenderTransform>

        
    </Rectangle>

            private const string ANIMATION = "<Storyboard Name=\"TestStoryboard\">"
           
    + "<DoubleAnimation"
           
    + "  Storyboard.TargetName=\"ox\""
           
    + "  Storyboard.TargetProperty=\"(UIElement.RenderTransform).
    (TransformGroup.Children)[
    3].(TranslateTransform.X)\""
           
    + "  From=\"0\" To=\"100\" Duration=\"0:0:5\" />"
           
    + "</Storyboard>";

                Storyboard storyboard = XamlReader.Load(ANIMATION) as Storyboard;
                
    this.Resources.Add(storyboard);
                storyboard.Begin();
    这里<Rectangle.RenderTransform>是必须要的。多一行少一行都不行。不然就不会产生动画。
    目前对“ Storyboard.TargetProperty”这个属性还不是很明白。
  • 相关阅读:
    mysql 添加索引 mysql 如何创建索引
    给MongoDB添加索引
    Istio流量管理实现机制深度解析
    Oracle E-Business Suite R12.1.x Installation And Upgrade Guide Step by Step
    XXX 不是当前用户的有效责任,请联系您的系统管理员
    EBS报错FRM-92095:Oracle JInitiator版本太旧,请安装版本1.1.8.2或更高版本
    Oracle 表类型变量的使用
    Oracle物化视图
    Oracle EBS
    Oracle释放高水位线
  • 原文地址:https://www.cnblogs.com/nasa/p/1069819.html
Copyright © 2011-2022 走看看