在Itemtemplate中循环播放C#媒体元素



我有一个Usercontrol,上面有一个Itemscontrol。这个Itemscontrol在资源文件中有一个Itemtemplate。

<ItemsControl x:Name="itemcontrol" Grid.ColumnSpan="3" Grid.RowSpan="2"
ItemsSource="{Binding PageItems}" 
ItemTemplate="{StaticResource MosaicGridStyleMP4}" />

这个模板中有一个Mediaelement。

Mainskin.xaml:

<DataTemplate x:Key="MosaicGridStyleMP4">
<Border BorderBrush="Gray" BorderThickness="1" CornerRadius="10" Margin="2,2,2,2">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="60"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock Text="{Binding PK_SpotABS}" Width="Auto" />
<MediaElement x:Name="mePlayer" Source="{Binding Media.Source, Mode=OneWay}" Volume="0" Grid.row="1" />
</Grid>
</Border>
</DataTemplate>

在Mediaelement中播放的视频运行良好,只是只播放一次。如何使其用于无限循环视频播放?即使有控制按钮(播放、停止等(的帮助。

(故事板方法不起作用。https://learn.microsoft.com/en-us/dotnet/desktop/wpf/graphics-multimedia/how-to-repeat-media-playback?view=netframeworkdesktop-4.8(

您可以处理MediaEnded事件:

private void OnMediaEnded(object sender, RoutedEventArgs e)
{
MediaElement mediaElement = (MediaElement)sender;
mediaElement.Position = TimeSpan.Zero;
mediaElement.Play();
}

XAML:

<MediaElement x:Name="mePlayer" Source="{Binding Media.Source, Mode=OneWay}" Volume="0" Grid.Row="1"
UnloadedBehavior="Manual" MediaEnded="OnMediaEnded"/>

相关内容

  • 没有找到相关文章

最新更新