Modalpopupextender被Silverlight档住

在使用Modalpopupextender.Show()的时候,发现页面上的Silverlight会把它档住了,导致Modalpopupextender不是显示在最上层。开始以为是样式的问题,于是乎设置了z-index,结果还是不起作用。然后,GOOGLE以下,原来是要将Silverlight的Windowless设置为true就可以了。具体代码如下:

 

<object  id='xx'....>

... 

<param name="windowless" value="true"/>
...

</object>

这样,Modalpopupextender就可以正常弹出并显示在最上层了。但是,如果设置了windowless,会存在一些问题,具体如下(摘MSDN):

 

无窗口模式的限制如下:

  • 性能问题。无窗口模式需要进行大量的计算,与透明插件背景相结合时更是如此。。

  • 不支持将鼠标输入传递到插件与之重叠的 HTML 内容,即使在该插件具有透明背景时也是这样。若要通过 HTML 处理鼠标输入,HTML 必须与 Silverlight 插件重叠。

  • 在插件的边界外没有鼠标捕获支持。

  • 没有辅助功能或 IME 支持。

  • 在全屏模式下不支持无窗口模式。

  • 不支持在使用超链接导航到新窗口时禁止显示弹出窗口阻止程序。此外,还要注意的是,在 Safari 上不支持禁止显示弹出窗口阻止程序,无论窗口模式如何。

  • 由于浏览器和平台限制而产生的问题:

    • 在 Windows XP 上、禁用了 DWM 的 Windows Vista 上和 Internet Explorer 中(与平台无关),在动画和视频播放中出现可视的撕裂。

    • 在与 Safari 中的 HTML 内容重叠时,呈现不可靠。

    • 基于 Mozilla 的浏览器中的焦点问题。当焦点在该插件和其他插件或 HTML 控件之间移动时,多个控件有时候显得具有焦点。

关于Windowless更多具体的阐述,可以查看MSDN中的Windowless解析。

posted @ 2011-06-22 23:41  ♂风车车  阅读(514)  评论(0编辑  收藏  举报