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);
}