Открыть SmoothStreamingMediaElement в полноэкранном режиме - PullRequest
0 голосов
/ 18 июля 2010

Я хочу открыть SmoothStreamingMediaElement в полноэкранном режиме и не могу использовать видео кисть, так как она принимает тип интерфейса медиаэлемента, поэтому я попытался удалить элемент из своей сетки в новую сетку, но в этом случае он перезагрузил и воспроизвел фильм есть ли в любом случае, чтобы переместить элемент управления без удаления и добавления или есть другие варианты, чтобы открыть его в полноэкранном режиме это код, который я использую

videoWindow.Children.Remove(mediaElement);
FullScreenGrid.Visibility = Visibility.Visible;
FullScreenGrid.Children.Add(mediaElement);

1 Ответ

0 голосов
/ 11 апреля 2011

Вы, вероятно, уже нашли решение, но, возможно, кто-то другой найдет это.

У меня была такая же проблема, как и у вас, и в итоге мы использовали этот простой класс:

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.

...