全屏打开SmoothStreamingMediaElement

时间:2010-07-18 14:56:32

标签: silverlight fullscreen

我想全屏打开SmoothStreamingMediaElement并且不能使用视频画笔,因为它需要mediaelement UI类型,所以我试图将元素从它的网格中移除到新网格但在这种情况下它重新加载并重放电影 无论如何移动控件而不删除和添加 或者还有其他选项可以全屏打开它 那是我正在使用的代码

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

1 个答案:

答案 0 :(得分:0)

你现在已经找到了一个解决方案,但也许其他人会发现这个。

我遇到了和你一样的问题,并最终使用了这个简单的类:

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一样。