Как сделать WPF фоновую анимацию l oop? - PullRequest
0 голосов
/ 03 марта 2020

Я использовал этот код в MainWindow.xaml (с раскадровками) для создания фоновой анимации. L oop:

    <Window.Background>
    <VisualBrush Stretch="UniformToFill" AlignmentX="Left" AlignmentY="Top">
        <VisualBrush.Visual>

            <MediaElement Name="bgv" Opacity="1" IsMuted="True" Width="3840" Height="2160" Stretch="None" HorizontalAlignment="Left" VerticalAlignment="Top">
                <MediaElement.Triggers>
                    <EventTrigger RoutedEvent="MediaElement.Loaded">
                        <EventTrigger.Actions>
                            <BeginStoryboard>
                                <Storyboard>

                                    <MediaTimeline Source="SuperRes/matrixX-animation1.mp4" Storyboard.TargetName="bgv" RepeatBehavior="Forever" />

                                </Storyboard>
                            </BeginStoryboard>
                        </EventTrigger.Actions>
                    </EventTrigger>
                </MediaElement.Triggers>
            </MediaElement>

        </VisualBrush.Visual>
    </VisualBrush>
</Window.Background>

Проблема в том, что сборщик мусора иногда останавливает его зацикливание или удаляет его из окна. Есть ли другой способ сделать это видео l oop?

1 Ответ

0 голосов
/ 03 марта 2020

Мне понадобилось время, чтобы найти решение, которое отлично работает. Вот код:

XAML:

<MediaElement x:Name="instructionVideo" Width="320" Height="240" Source="Videos/Instructions.mp4" LoadedBehavior="Manual" Loaded="instructionVideo_Loaded" MediaEnded="instructionVideo_MediaEnded" VerticalAlignment="Bottom" HorizontalAlignment="Center" Canvas.Top="40"/>

CS:

private void instructionVideo_Loaded(object sender, RoutedEventArgs e)
    {
        instructionVideo.Play();
    }
    private void instructionVideo_MediaEnded(object sender, RoutedEventArgs e)
    {
      instructionVideo.Position = TimeSpan.FromSeconds(0);
}

Кредиты:

http://jcraane.blogspot.com/2012/03/continuously-looping-video-in-wpf.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...