Вы, вероятно, уже нашли решение, но, возможно, кто-то другой найдет это.
У меня была такая же проблема, как и у вас, и в итоге мы использовали этот простой класс:
public class ExtendedSmoothStreamingElement : SmoothStreamingMediaElement
{
#region MediaElement (DependencyProperty)
public static readonly DependencyProperty MediaElementProperty = DependencyProperty.Register("MediaElement", typeof (MediaElement), typeof (ExtendedSmoothStreamingElement), null);
public MediaElement MediaElement
{
get { return (MediaElement) GetValue(MediaElementProperty); }
set { SetValue(MediaElementProperty, value); }
}
#endregion
public override void OnApplyTemplate()
{
base.OnApplyTemplate();
MediaElement = (MediaElement)GetTemplateChild("MediaElement");
}
}
Этопредоставляет доступ к внутреннему MediaElement
, используемому SmoothStreamingMediaElement
.
Другое дело, что вы не можете установить свойство SmoothStreamingMediaElement.Visiblity
для свертывания и воспроизведения видео, как вы можете это сделать с обычным MediaElement
.