c# - 如何防止页面加载时故事板自动播放?
问题描述
这个问题似乎没有任何原因。代码中的任何地方都没有Storyboard.Begin()
被调用(在当前项目中使用“查找全部”进行搜索),并且没有任何触发器可以看到。
对每一个 Storyboard 演示使用Storyboard.Stop()
inPage_Loaded
事件解决了这个问题,但它看起来更像是一个 hack 而不是一个解决方案。是什么导致了这种行为,如何解决?
来自这里的类似问题有一个解决方案,但它不适用于这种情况:不使用 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>
解决方案
不要把它放在<BeginStoryboard>
标签中,那是启动故事板的触发器。您可以将情节提要的名称(在您的情况下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:
开始情节提要的触发动作。不常用。
推荐阅读
- php - 使用 SoX 库混合样本
- php - 无法在 localhost 加载 index.php
- pycharm - 用于显示方法定义的 Robot Framework 关键字的快捷方式
- java - Apache calcite 是否支持连接池?
- python - Google Cloud App Engine:如何在灵活的环境中提供 https
- java - 使用 String.split() 循环遍历二维数组
- ripple - 如何在 Ripple 中获取过去的存款
- html - 仅 CSS 带有缩略图弹出窗口的图像
- unity3d - 简单的双面自定义着色器看起来很奇怪
- typescript - 打字稿:使用“.d.ts”文件将功能添加到“窗口”