繁体   English   中英

C#中的动画触发器(Storyboard +触发器)

[英]Animation Trigger (Storyboard + Trigger) in C#

我有一个使用DoubleAnimationUsingKeyFrames的动画,我需要使用触发器打开动画的第一部分。 我怎样才能做到这一点?

 <Storyboard x:Key="TargetStoryboard">
     <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="TargetArea" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)">
         <SplineDoubleKeyFrame KeyTime="00:00:0.0000000" Value="0.001"/>
         <SplineDoubleKeyFrame KeyTime="00:00:0.6000000" Value="1"/>
         <SplineDoubleKeyFrame KeyTime="00:00:3.6000000" Value="1"/>
         <SplineDoubleKeyFrame KeyTime="00:00:4.3000000" Value="0"/>     
     </DoubleAnimationUsingKeyFrames>

     <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="TargetArea" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)">
         <SplineDoubleKeyFrame KeyTime="00:00:0.0000000" Value="-60"/>
         <SplineDoubleKeyFrame KeyTime="00:00:0.6000000" Value="-222"/>
         <SplineDoubleKeyFrame KeyTime="00:00:3.6000000" Value="-222"/>
         <SplineDoubleKeyFrame KeyTime="00:00:4.8000000" Value="3.35"/>   
     </DoubleAnimationUsingKeyFrames>
  </Storyboard>

它一定是这样的,但是不起作用。

<Storyboard x:Key="TargetStoryboard">
            <Trigger Property="dAnimTrigger" Value="True">
                <Trigger.EnterActions>
            <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="TargetArea" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)">
                <SplineDoubleKeyFrame KeyTime="00:00:0.0000000" Value="0.001"/>
                <SplineDoubleKeyFrame KeyTime="00:00:0.6000000" Value="1"/>
                <SplineDoubleKeyFrame KeyTime="00:00:3.6000000" Value="1"/>
                <SplineDoubleKeyFrame KeyTime="00:00:4.3000000" Value="0"/>

            </DoubleAnimationUsingKeyFrames>
                </Trigger.EnterActions>
            </Trigger>
            <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="TargetArea" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)">
                <SplineDoubleKeyFrame KeyTime="00:00:0.0000000" Value="-60"/>
                <SplineDoubleKeyFrame KeyTime="00:00:0.6000000" Value="-222"/>
                <SplineDoubleKeyFrame KeyTime="00:00:3.6000000" Value="-222"/>
                <SplineDoubleKeyFrame KeyTime="00:00:4.8000000" Value="3.35"/>

            </DoubleAnimationUsingKeyFrames>

        </Storyboard>

请帮我解决这个问题。

使用EnterActions和ExitActions内部的beginstoryboard更改触发器

请查看以下代码:

<Trigger.EnterActions>
            <BeginStoryboard>
              <Storyboard>
                <DoubleAnimation Storyboard.TargetProperty="Opacity"
                  To="1" Duration="0:0:1" />
              </Storyboard>
            </BeginStoryboard>
          </Trigger.EnterActions>
          <Trigger.ExitActions>
            <BeginStoryboard>
              <Storyboard>
                <DoubleAnimation Storyboard.TargetProperty="Opacity"
                  To="0.25" Duration="0:0:1" />
              </Storyboard>
            </BeginStoryboard>
          </Trigger.ExitActions>          
        </Trigger>    

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM