C# 如何制作WPF背景动画循环?

C# 如何制作WPF背景动画循环?,c#,wpf,xaml,C#,Wpf,Xaml,我在main window.xaml(带有故事板)中使用了此代码来制作背景动画循环: <Window.Background> <VisualBrush Stretch="UniformToFill" AlignmentX="Left" AlignmentY="Top"> <VisualBrush.Visual> <MediaElement Name="bgv" Opacity="1" IsMute

我在
main window.xaml
(带有故事板)中使用了此代码来制作背景动画循环:

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


问题是垃圾收集器有时会阻止它循环或将其从窗口中移除。有没有其他方法可以让这个视频循环?

我花了一段时间才找到一个完美的解决方案。代码如下:

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"/>
学分:

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