此问题似乎没有任何原因。在代码中的任何地方都没有调用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>
答案 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:
触发情节提要的触发动作。 不常用。