如何防止故事板在页面加载时自动播放?

时间:2019-12-23 20:02:01

标签: c# xaml uwp uwp-xaml

此问题似乎没有任何原因。在代码中的任何地方都没有调用Storyboard.Begin()(在当前项目中搜索为“查找全部”),并且据发现没有触发器。

在每个Storyboard.Stop()事件中使用Page_Loaded来解决当前出现的每个Storyboard都可以解决此问题,但它似乎更像是一种hack,而不是解决方案。 是什么原因导致这种现象,以及如何解决?

here类似的问题也可以解决,但在这种情况下不适用:不使用Blend

我的代码如下:

    <Page.Resources>
       [...]
       <BeginStoryboard x:Name="StartButtonTranslateAndShrinkStoryboard">
            <Storyboard RepeatBehavior="0x">
                <DoubleAnimation Storyboard.TargetName="StartButtonTransform"
                                 Storyboard.TargetProperty="(CompositeTransform.TranslateX)"
                                 From="0" To="140" Duration="0:0:1"/>
                <DoubleAnimation Storyboard.TargetName="StartButtonTransform"
                                 Storyboard.TargetProperty="(CompositeTransform.TranslateY)"
                                 From="0" To="300" Duration="0:0:1"/>
                <DoubleAnimation Storyboard.TargetName="StartButtonTransform"
                                 Storyboard.TargetProperty="(CompositeTransform.ScaleX)"
                                 From="3" To="1" Duration="0:0:1"/>
                <DoubleAnimation Storyboard.TargetName="StartButtonTransform"
                                 Storyboard.TargetProperty="(CompositeTransform.ScaleY)"
                                 From="3" To="1" Duration="0:0:1"/>
            </Storyboard>
        </BeginStoryboard>
       [...]
    </Page.Resources>

1 个答案:

答案 0 :(得分:1)

不要将其放在<BeginStoryboard>标签中,它是启动情节提要的 trigger 。您可以将情节提要的名称(在您的情况下为StartButtonTranslateAndShrinkStoryboard)分配给情节提要本身而不是触发器,并且它应该起作用。

<Page.Resources>
   [...]
        <Storyboard RepeatBehavior="0x"  x:Name="StartButtonTranslateAndShrinkStoryboard">
            <DoubleAnimation Storyboard.TargetName="StartButtonTransform"
                             Storyboard.TargetProperty="(CompositeTransform.TranslateX)"
                             From="0" To="140" Duration="0:0:1"/>
            <DoubleAnimation Storyboard.TargetName="StartButtonTransform"
                             Storyboard.TargetProperty="(CompositeTransform.TranslateY)"
                             From="0" To="300" Duration="0:0:1"/>
            <DoubleAnimation Storyboard.TargetName="StartButtonTransform"
                             Storyboard.TargetProperty="(CompositeTransform.ScaleX)"
                             From="3" To="1" Duration="0:0:1"/>
            <DoubleAnimation Storyboard.TargetName="StartButtonTransform"
                             Storyboard.TargetProperty="(CompositeTransform.ScaleY)"
                             From="3" To="1" Duration="0:0:1"/>
        </Storyboard>
   [...]
</Page.Resources>

来自MSDN

  

触发情节提要的触发动作。 不常用。