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 @   长白山  阅读(7609)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
点击右上角即可分享
微信分享提示