带有 DiscreteObjectKeyFrame 的情节提要在 windows phone 8 中不起作用

Posted

技术标签:

【中文标题】带有 DiscreteObjectKeyFrame 的情节提要在 windows phone 8 中不起作用【英文标题】:Storyboard with DiscreteObjectKeyFrame is not working in windows phone 8 【发布时间】:2014-09-18 13:53:50 【问题描述】:

我的 Windows Phone 8 应用程序中有一个故事板动画,就像这个。

<Storyboard x:Name="eqAnimation" RepeatBehavior="forever">
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="imageEq" Storyboard.TargetProperty="Source">
            <DiscreteObjectKeyFrame KeyTime="0:0:0.0" Value="/Assets/zikzak.png" />
            <DiscreteObjectKeyFrame KeyTime="0:0:0.2" Value="/Assets/zikzak2.png" />
        </ObjectAnimationUsingKeyFrames>
</Storyboard>

但它根本没有播放。我必须更改图像控件的来源才能制作顺序动画。

【问题讨论】:

启动故事板的代码是什么? @kennyzx eqAnimation.Begin(); 您能告诉我您页面的所有 XAML 代码吗?我想知道 Storyboard 是在哪里定义的。 @kennyzx link 【参考方案1】:

我有一个工作的 sn-p,刚刚用 Windows Phone 8 模拟器测试过。您可以将其复制到您的代码中(当然要更新图像路径),以查看它是否正在运行。

故事板在页面加载时开始,而不是在代码隐藏中开始。

<Image x:Name="img"> <!--do not set the Source here-->
    <Image.Triggers>
        <EventTrigger RoutedEvent="FrameworkElement.Loaded">
            <BeginStoryboard>
                <Storyboard RepeatBehavior="Forever">
                    <ObjectAnimationUsingKeyFrames Storyboard.TargetName="img"
                                           Storyboard.TargetProperty="Source">
                        <DiscreteObjectKeyFrame KeyTime="0:0:0.01" Value="/Assets/zikzak.png"/>
                        <DiscreteObjectKeyFrame KeyTime="0:0:0.2" Value="/Assets/zikzak2.png"/>
                        <DiscreteObjectKeyFrame KeyTime="0:0:0.4" Value="/Assets/zikzak.png"/>
                        <DiscreteObjectKeyFrame KeyTime="0:0:0.6" Value="/Assets/zikzak2.png"/>

                    </ObjectAnimationUsingKeyFrames>
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
    </Image.Triggers>
</Image>

【讨论】:

现在的问题是它总是只显示一个图像。 @user3134635 是否将第一个 DiscreteObjectKeyFrame 的 KeyTime 设置为“0:0:0.0”?将其设置为“0:0:0.01”。并且不要设置图像的来源。看到我更新的代码。 我修改了那些关键时间值。这是我更新的代码-link。但它仍然只是闪烁,只有一张图像。 是的...我可以看到您所说的闪烁...我添加了另外 2 个关键帧(只是前 2 帧的重复)。现在可以了,但不知道为什么,可能2个关键帧太少,动画无法正常运行。

以上是关于带有 DiscreteObjectKeyFrame 的情节提要在 windows phone 8 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

使用带有 uuencode 的“sendmail”发送邮件,并带有主题

带有和不带有聚合的 sql 查询

如何翻转正面带有标签而背面带有另一个标签的视图 - 参见图片

CakePHP 如何处理带有/不带有 'id' 字段的 HABTM 表?

带有滚动的 Div 和带有绝对位置的内容

带有 RecyclerView 的 DialogFragment 比带有 Recyclerview 的 Fragment 慢