C# XAML Metro Image динамический источник



Мне нравится делать простую анимацию, используя один элемент управления изображением в XAML и меняя Источник Image на другой с интервалом в 1 секунду.



Но когда я это делаю, изображение мерцает. I используя этот код (at Tick обработчик событий Timer):

Uri uri = new Uri("ms-appx:/Sprites/Running/" + y++ + ".png", 
UriKind.RelativeOrAbsolute);
BitmapImage textureBitmap = new BitmapImage(uri);

this.ImageHolder.Source = textureBitmap;


Где может быть проблема ? Следует ли кэшировать растровые изображения?



Спасибо за вашу помощь.
543   1  

1 ответ:

Попробуйте объявить раскадровку в вашем xaml:

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

Итак, вы должны добавить спрайты в статические ресурсы и запустить раскадровку.

Comments

    Ничего не найдено.