none
不在RootFrame中的MediaElement全屏问题 RRS feed

  • 问题

  • 我的MediaElement是放在另外一个Frame里加载的。我的布局是RootFame中有一个SplitView,SplitView.Content中放了一个Frame,在我点击SplitView.Pane中的选项时,SplitView.Content中的Frame就会加载另一个页面,此页面中包含了MediaElement.

    我的困惑是,我不使用系统自带的控制按钮(AreTransportControlsEnabled= false),我自己写了一些控制按钮。在实现全屏功能时,我尝试了两种方式。

    1. 使用MediaElement.IsFullWindow来实现,可是这样无法让我自定义的控制按钮在全屏模式时显示出来。
    2. 将MediaElement.Width & Height 设置成 Window.Current.Bound.Width & Height.这样一来,就可以将MediaElement撑开整个页面。可是,撑开也只是包含这个MediaElement的Frame,主Frame还是存在。就是SplitView并没有隐藏。我知道可以将SplitView的Pane隐藏,但是这样一来,就需要在点击全屏按钮时,去处理不该MediaElement关心的逻辑。这样似乎很不好,因为我想将MediaElement封装成一个通用控件。如果每一次全屏时都要处理非MediaElement自身的UI逻辑,似乎很不好。

    我想问像Youku手机客户端那样的播放器怎么实现的?

    又或者是系统自带的IsFullWindow是怎么实现的?

    又或者是MediaElement的ControlTemplate?

    又或者是能够使用系统自带的控制按钮,但是能自定义样式?

    又或者是Win10上系统App电视和电影中的播放器怎么实现的?因为,它似乎就比我在我自己的应用中使用的MediaElement自带控制按钮多了一个  “循环播放按钮”,这样似乎表明,可以自定义系统的控制按钮。


    • 已编辑 Sago.Su 2015年8月10日 7:19 补充说明
    2015年8月10日 7:16