Измените источник изображения с помощью раскадровки

Как я могу изменить источник изображения с помощью раскадровки? Я хочу создать небольшую анимацию и для этого хочу изменить источник изображения длительностью 0,5 секунды, чтобы оно выглядело как небольшая анимация. (Немного похоже на Gif-анимацию :)) Есть ли способ сделать это с помощью раскадровки в Xaml или это единственный способ изменить источник изображения из кода с помощью таймера?


person user2025830    schedule 11.06.2014    source источник


Ответы (1)


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

Что вы можете сделать, так это подготовить несколько изображений и использовать раскадровку для установки свойства Source несколько раз в разных ключевых кадрах с помощью ObjectAnimationUsingKeyFrames:

<Storyboard x:Key="Storyboard">
    <ObjectAnimationUsingKeyFrames 
        Storyboard.TargetProperty="(Image.Source)" 
        Storyboard.TargetName="Image1">

        <DiscreteObjectKeyFrame KeyTime="0:0:1">
            <DiscreteObjectKeyFrame.Value>
                <BitmapImage UriSource="Images/1.jpeg" />
            </DiscreteObjectKeyFrame.Value>
        </DiscreteObjectKeyFrame>
        <DiscreteObjectKeyFrame KeyTime="0:0:2">
            <DiscreteObjectKeyFrame.Value>
                <BitmapImage UriSource="Images/2.jpeg" />
            </DiscreteObjectKeyFrame.Value>
        </DiscreteObjectKeyFrame>

    </ObjectAnimationUsingKeyFrames>
</Storyboard>
person eshaham    schedule 11.06.2014