动画故事板没有触发器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动画故事板没有触发器相关的知识,希望对你有一定的参考价值。

有没有办法动画故事板没有任何触发器?

<UserControl.Resources>
    <Storyboard>
        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="Blink" RepeatBehavior="Forever">
            <EasingDoubleKeyFrame KeyTime="0:0:2" Value="1" />
        </DoubleAnimationUsingKeyFrames>
    </Storyboard>
</UserControl.Resources>

<Image x:Name="Blink" Source="{}pack://siteoforigin:,,,/Images/image.png" Opacity="0" />
答案

通常会有某种事件适合开动故事板。例如,加载事件或绑定值更改时。

但是,您可以在代码中定位并启动故事板。

您可以使用Begin()方法启动一个正在运行的方法,您可以在情节提要板上设置目标,也可以将frameworkelement作为参数传递。因此,如果我有:

<Window.Resources>
   <Storyboard x:Key="blinkingStoryboard">
       <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" RepeatBehavior="Forever">
            <EasingDoubleKeyFrame KeyTime="0:0:2" Value="1" />
       </DoubleAnimationUsingKeyFrames>
   </Storyboard>
</Window.Resources>
<Grid>
    <Rectangle Fill="Red" Name="redRectangle" Opacity="0"/>

我可以通过从资源中抓取故事板并使用矩形参数调用来使红色矩形闪烁:

        Storyboard sb = this.Resources["blinkingStoryboard"] as Storyboard;
        sb.Begin(this.redRectangle);

以上是关于动画故事板没有触发器的主要内容,如果未能解决你的问题,请参考以下文章

如何允许完整的 WPF 故事板动画

在WPF中,有没有办法在后面的代码中获取故事板动画值的当前值?

故事板动画没有动画

没有故事板的过渡动画 segue swift

WPF 从代码触发动画

presentModalViewController 没有故事板风格的动画