首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >多个元素的相同故事板动画

多个元素的相同故事板动画
EN

Stack Overflow用户
提问于 2016-03-28 13:00:32
回答 1查看 677关注 0票数 0

我最近开始学习C# wpf。我想知道我们是否可以对多个目标使用相同的故事板。我知道这可以通过XAML实现,但我不知道如何通过c#代码来实现。我正在做一些事情,比如当故事板开始动画时,在0-2秒内,一个元素完成动画,然后在2-4秒的持续时间内,另一个元素完成动画。这样,故事板的总时长为4秒。下面是我在web上找到的XAML代码,我想用c#代码做一些类似的事情

代码语言:javascript
运行
复制
<Storyboard x:Name=”sbFlip“> 
    <DoubleAnimationUsingKeyFrames BeginTime=”00:00:00” Storyboard.TargetName=”front”  Storyboard.TargetProperty=”(UIElement.RenderTransform).(ScaleTransform.ScaleX)“> 
        <SplineDoubleKeyFrame KeyTime=”00:00:00.2” Value=”0“/> 
    </DoubleAnimationUsingKeyFrames> 
    <DoubleAnimationUsingKeyFrames BeginTime=”00:00:00.2” Storyboard.TargetName=”back” Storyboard.TargetProperty=”(UIElement.RenderTransform).(ScaleTransform.ScaleX)“> 
        <SplineDoubleKeyFrame KeyTime=”00:00:00.4” Value=”1“/> 
    </DoubleAnimationUsingKeyFrames> 
</Storyboard> 
EN

回答 1

Stack Overflow用户

发布于 2016-03-28 13:07:34

假设以下是视图中的三个对象:

代码语言:javascript
运行
复制
  <Rectangle x:Name="rctMovingObject1" Fill="LimeGreen" Width="50" Height="50"/>
  <Rectangle x:Name="rctMovingObject2" Fill="Red" Width="50" Height="50" Canvas.Top="136"/>
  <Rectangle x:Name="rctMovingObject3" Fill="Purple" Width="50" Height="50" Canvas.Top="69"/>

您可以从后端定义动画并将其分配给所有动画,如下所示:

代码语言:javascript
运行
复制
var anim = new DoubleAnimation
  {
     From = 1920,
     To = 1,
     Duration =new Duration(new TimeSpan(0,0,2))// a duration of 2 seconds 
  };
rctMovingObject1.BeginAnimation(Canvas.LeftProperty, anim);
rctMovingObject2.BeginAnimation(Canvas.LeftProperty, anim);
rctMovingObject3.BeginAnimation(Canvas.LeftProperty, anim);

Read More...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36256245

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档