Вам не нужно снова устанавливать источник. Просто установите позицию медиаэлемента на начало события media_ended
private void MediaElement_MediaEnded(object sender, RoutedEventArgs e)
{
((MediaElement)(sender)).Stop();
((MediaElement)(sender)).Position = new TimeSpan(0, 0, 0);
((MediaElement)(sender)).Play();
}
Возможно, вам потребуется установить MediaElement.LoadedBehavior на Manual
EDIT
Я попытался загрузить файл asf с тэгом REPEAT, и он работает нормально
<ASX version = "3.0">
<TITLE>Simple ASX Demo</TITLE>
<REPEAT>
<ENTRY>
<TITLE>Vista Butterfly Video</TITLE>
<AUTHOR>Microsoft Corporation</AUTHOR>
<COPYRIGHT>(c)2007 Microsoft Corporation</COPYRIGHT>
<REF HREF = "Butterfly.wmv" />
</ENTRY>
</REPEAT>
</ASX>
Но я думаю, что встроенный механизм обработки списка воспроизведения медиаэлемента имеет некоторые недостатки. Я рекомендую использовать обходной путь, упомянутый в ссылке ниже
http://blog.revolunet.com/index.php/general/wpf-mediaelement-asx-workaround
Оставьте комментарий здесь, если у вас возникли проблемы