//MVVM要事件绑定,记得项目引用类库“Sysrem.Windows.interactivity”,然后XAML引用 xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
<MediaElement Canvas.Left="0"
Canvas.Top="10"
Name="MediaElement"
Width="300"
Height="350"
ClipToBounds="True"
Source="{Binding GifUrl}" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="MediaEnded">
<i:InvokeCommandAction Command="{Binding MediaEndedCommand}" CommandParameter="{Binding ElementName=MediaElement}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</MediaElement>
public ICommand MediaEndedCommand
{
get
{
return new DelegateCommand<object>((sender) =>
{
MediaElement media = (MediaElement)sender;
media.LoadedBehavior = MediaState.Manual;
media.Position = TimeSpan.FromMilliseconds(1);
media.Play();
});
}
}