UnloadedBehavior = "Close" - очень полезное поведение.
Если вы хотите удалить медиаэлемент, вы должны освободить память и все медиаресурсы, которые он использовал.
Вы должны знать описание Microsoft Unloaded Event .
Предположим, ваш медиаэлемент является дочерним элементом сетки, и вы хотите удалить его. Тогда есть 2 способа освободить память:
1 - используя Unloaded Event, например:
private void mediaelement_Unloaded(object sender, RoutedEventArgs e)
{
mediaelement.Unloaded -= mediaelement_Unloaded;
mediaelement.Source = null;
mediaelement.Close();
}
2 - вместо вышеуказанного решения вы можете просто установить UnloadedBehavior = "Close"
Таким образом, он закроет носитель и автоматически освободит все ресурсы мультимедиа (включая видеопамять ).
.......................
ОБНОВЛЕНИЕ:
Microsoft о UnloadedBehavior говорит:
«UnloadedBehavior. На месте, когда мультимедиа выгружается. Это гарантирует, что все медиаресурсы освобождаются по умолчанию, даже когда MediaClock связан с MediaElement.»
Но я согласен с Мостафой, потому что я не смог найти четкий документ о другом UnloadedBehaviors, как play, pause и stop.