• WPF StoryBoard用法


    时间:2011-06-15 21:26来源:百度空间 作者:shichen4 点击:
    StoryBoard使用,Xaml转cs代码 Canvas.Triggers EventTriggerRoutedEvent= Image.MouseLeftButtonDown EventTrigger.Actions BeginStoryboard StoryboardStoryboard.TargetName= image1 Storyboard.TargetProperty= (Canvas.Left) DoubleAnimationAutoReverse= True Rep
      

      StoryBoard使用,Xaml转cs代码

    <Canvas.Triggers>
                    <EventTrigger RoutedEvent="Image.MouseLeftButtonDown">
                        <EventTrigger.Actions>
                            <BeginStoryboard>
                                <Storyboard Storyboard.TargetName="image1" 
                                                    Storyboard.TargetProperty=
    "(Canvas.Left)" >
                                    <DoubleAnimation AutoReverse="True" 
    RepeatBehavior=
    "Forever" 
                                                             BeginTime=
    "0" 
    Duration=
    "0:0:20" From="0" To="-1100">
                                    </DoubleAnimation>
                                </Storyboard>
                            </BeginStoryboard>
                        </EventTrigger.Actions>
                    </EventTrigger>
                </Canvas.Triggers>

      转换为cs代码:

             this.image1.RenderTransform = new TranslateTransform();

                this.image1.Name = "image1";
                NameScope.SetNameScope(this,new NameScope());
                this.RegisterName(this.image1.Name,this.image1);

                DoubleAnimation xAnimation = new DoubleAnimation();
                xAnimation.From = 0;
                xAnimation.To = -1100;
                xAnimation.Duration = new Duration(TimeSpan.FromSeconds(30));

                DependencyProperty[] propertyChain = new DependencyProperty[]
                {
                    Image.RenderTransformProperty,
                    TranslateTransform.XProperty
                };

                Storyboard story = new Storyboard();
                story.AutoReverse = true;
                story.RepeatBehavior = RepeatBehavior.Forever;
                story.Children.Add(xAnimation);

                Storyboard.SetTargetName(xAnimation,this.image1.Name);
                Storyboard.SetTargetProperty(xAnimation,new PropertyPath("(0).(1)",propertyChain));

                story.Begin(this);
  • 相关阅读:
    P3469 [POI2008]BLO-Blockade
    洛谷P2342 叠积木
    洛谷 P1197 [JSOI2008]星球大战
    洛谷P1967 货车运输
    洛谷P2812校园网络【Network of Schools加强版】
    洛谷P3003 苹果交货Apple Delivery
    luogu Eat the Trees
    插头DP模板
    [NOIP2017] 宝藏
    LOJ6268拆分数
  • 原文地址:https://www.cnblogs.com/changbaishan/p/3307942.html
Copyright © 2020-2023  润新知