C#XAML城域图像动态源

C#XAML城域图像动态源,c#,xaml,windows-runtime,winrt-xaml,C#,Xaml,Windows Runtime,Winrt Xaml,我喜欢使用XAML中的一个图像控件制作简单的动画,并每隔1秒将图像的源切换到另一个 但是当我这么做的时候,图像在闪烁。我使用此代码(在计时器的事件处理程序中勾选): 问题出在哪里?我应该缓存位图图像吗 感谢您的帮助。尝试在xaml中声明a: <Storyboard> <ObjectAnimationUsingKeyFrames BeginTime="0:0:0" Storyboard.TargetName="ImageHolde

我喜欢使用XAML中的一个图像控件制作简单的动画,并每隔1秒将
图像的源切换到另一个

但是当我这么做的时候,图像在闪烁。我使用此代码(在
计时器的
事件处理程序中勾选
):

问题出在哪里?我应该缓存位图图像吗

感谢您的帮助。

尝试在xaml中声明a:

    <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>


因此,您必须将精灵添加到静态资源中,并运行故事板。

是的,但我希望不使用故事板。还有其他方法吗?在开始动画之前尝试预加载图像。使用
字典
和实例预加载图像,然后通过int索引访问图像是一种好方法吗?
    <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>