C#XAML Metro Image动态源码

时间:2012-10-17 09:01:27

标签: c# xaml windows-runtime winrt-xaml

我喜欢在XAML中使用一个Image控件进行简单动画,并在1秒钟内将Image的Source换成其他。

但是当我这样做时,图像会闪烁。我使用此代码(Tick的{​​{1}}事件处理程序):

Timer

问题出在哪里?我应该缓存BitmapImages吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

尝试在xaml中声明StoryBoard

    <Storyboard>
        <ObjectAnimationUsingKeyFrames BeginTime="0:0:0" 
            Storyboard.TargetName="ImageHolder" Storyboard.TargetProperty="Source">
            <DiscreteObjectKeyFrame KeyTime="0:0:0" 
               Value="{Binding Source={StaticResource Frame1Image}"/>
            <DiscreteObjectKeyFrame KeyTime="0:0:1" 
               Value="{Binding Source={StaticResource Frame2Image}"/>
            <DiscreteObjectKeyFrame KeyTime="0:0:2" 
               Value="{Binding Source={StaticResource Frame3Image}"/>
            <!-- etc -->
        </ObjectAnimationUsingKeyFrames>
    </Storyboard>

因此,您必须向静态资源添加精灵,并运行StoryBoard。