@p0n41k

Как сделать анимированное переключение изображений в WPF?

Никак не могу понять как сделать плавный переход от одной картинке к другой. Есть 4 картинки, они забиты в List<>. На форме располагается image в нем происходит отображение картинки, как сделать плавный плавный переход между картинками.
  • Вопрос задан
  • 3066 просмотров
Пригласить эксперта
Ответы на вопрос 1
@i_light
Backend, XAML, crossplatform
Используйте триггеры:

В XAML:
<Image Source="{Binding CurrentImage}" >
    <Image.Triggers>
        <EventTrigger RoutedEvent="Image.Loaded">
            <BeginStoryboard>
                <Storyboard>
                    <DoubleAnimation Storyboard.TargetProperty="(Image.Opacity)" From="0" To="1" Duration="0:0:1" />
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
    </Image.Triggers>
</Image>

<Button Content="Next image" MouseLeftButtonDown="NextImageClick"/>


В классе модели:

public BitmapImage CurrentImage { get; set; }

public List<BitmapImage> Images { get; set; }

private int _imageIndex = 0;

public void NextImageClick(object sender, MouseButtonEventArgs e)
{
   if (_imageIndex >= Images.Count) _imageIndex = 0;
   CurrentImage = Images[imageIndex];
   RaisePropertyChanged("CurrentImage");  //необходимо реализовать INotifyPropertyChanged в классе модели
   _imageIndex++;
}


Должно сработать :)

При надобности, анимацию можно сделать любую другую.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы