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);
posted @ 2013-09-07 23:47  长白山  阅读(7595)  评论(0编辑  收藏  举报