none
请问,MediaElement控件嵌套问题 RRS feed

  • 问题

  • 请问,3层容器控件嵌套下(有grid,canvas,stackpanel),最里面的一个控件包含一个MediaElement控件,如何点击按钮使MediaElement控件全屏.
    2009年7月8日 5:22

答案

  • 单一个Rectangle充满整个屏幕,全屏模式下,显示,然后用VideoBrush刷这个Rectangle就可以了
    • 已标记为答案 SeekVerity 2009年7月9日 12:48
    2009年7月8日 12:20
    版主

全部回复

  • http://www.cnblogs.com/tonyqus/archive/2008/04/07/1134454.html
    你看看是不是需要用命中测试。
    这样你在点嵌套很深的控件时,可以相应到里面的控件。
    http://www.cnblogs.com/Terrylee/archive/2008/03/08/silverlight2-step-by-step-part7-full-screen-mode-support.html
    这个是讲的全屏模式,你也可以看看。
    努力!写一个js解析器,一个svg插件,一个绘图程序,做好自己,呵呵~!
    2009年7月8日 12:12
    版主
  • 单一个Rectangle充满整个屏幕,全屏模式下,显示,然后用VideoBrush刷这个Rectangle就可以了
    • 已标记为答案 SeekVerity 2009年7月9日 12:48
    2009年7月8日 12:20
    版主
  • 这样也可以。那就是让图像在Rectangle里面显示喽!呵呵!


    努力!写一个js解析器,一个svg插件,一个绘图程序,做好自己,呵呵~!
    2009年7月8日 12:30
    版主
  • 关键是我用grid把整个屏幕分成3个部分,MediaElement控件只是占用屏幕的一部分(就那一部分也是用tabcontrol分三个文件来加载的,也就是所MediaElement只是占用了其中一个tabitem),即使全屏,也仅仅是MediaElement控件充满了那个tabitem。从整个电脑屏幕上看,整体分割电脑屏幕的布局没有变化。这个问题,虽说不是MediaElement的bug,但至少是缺陷。
    我去silverlight.net论坛上查了查,有不少人讨论这个问题,好像有一种办法是需要隐藏屏幕上除了MediaElement以外的控件,然后再对MediaElement加载全屏事件.你说用矩形,我想即使矩形全屏也还是在它所在的那个容器内全屏,而它所在的容器仍然还是占用整个电脑屏幕的一部分呀。
    2009年7月8日 13:32
  • <Rectangle Grid.RowSpan="3"/>不就行了
    2009年7月8日 15:20
    版主
  • 你可以用八爪说的方法啊!
    用一个Rectangle去把其它位置填满。


    努力!写一个js解析器,一个svg插件,一个绘图程序,做好自己,呵呵~!
    2009年7月9日 1:25
    版主
  • 我的整个页面包含了三个xaml文件,MediaElement控件在最里面的xaml文件里面,retangle如果放到最外层的xaml里面的化,我在MediaElement所在的xaml文件里找不到最外层xaml文件里面的任何控件,没有可以操作的句柄。
    2009年7月9日 2:44
  • 你加我QQ吧!283440946 天使坠


    努力!写一个js解析器,一个svg插件,一个绘图程序,做好自己,呵呵~!
    2009年7月9日 2:53
    版主
  • 谢谢了,看来只有采用那个矩形控件来实现了。
    2009年7月9日 12:47
  • :)不是只有采用,而是基本上都是这么做的,最方便
    也是可以判断浏览器是否全屏,然后用MediaElement.SetValue();
    来设置你视频的位置,没有先前的那个方便
    2009年7月10日 5:44
    版主