动画故事板没有触发器

问题描述 投票:0回答:1

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

<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" />
wpf xaml
1个回答
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);
© www.soinside.com 2019 - 2024. All rights reserved.