我有一个在网页上打开的silverlight控件。但与此同时,在某些用户操作上,还会打开一个jquery颜色框。它没有显示,因为它位于silverlight后面。有没有办法改变silverlight组件的z-index?
答案 0 :(得分:1)
检查您的Silverlight HTML参数是否将windowless
模式设置为true
。
HTML语法:
<object ...>
<param name="windowless" value="bool"/>
...
</object>
或者如果您正在利用Silverlight.js
Silverlight.CreateObject(,,,{windowless:'bool'});
-or-
Silverlight.CreateObjectEx({properties:{windowless:'bool'}});
默认情况下,windowless
设置为false
。基本上,当false
时,Silverlight使用自己的超级“窗口”来执行渲染。在这种状态下,它始终出现在所有 HTML内容之上,因为它实际上并没有使用浏览器进行渲染。在这种状态下,Silverlight插件基本上会忽略浏览器/ CSS z-index,因为它不再适用。
当windowless
设置为true时,它会绑定到浏览器的渲染系统,该系统允许您在其上方对HTML内容(包括iframe和jquery颜色框)进行分层。运行windowless
有一些缺点,但很可能你不会受到太大影响。在这种状态下,您将能够利用浏览器/ CSS中的典型z-index排序。
以下是关于它的MSDN文章以及我在上面发布的优缺点和代码段:http://msdn.microsoft.com/en-us/library/cc838156%28VS.95%29.aspx