Layout Silverlight内容显示在HTML内容的顶部

Layout Silverlight内容显示在HTML内容的顶部,layout,silverlight-4.0,Layout,Silverlight 4.0,我在页面上有一个HTML表格,其中嵌入了一个小小的Silverlight应用程序,以提供跨浏览器的“复制到剪贴板”功能。整个“应用程序”是一个按钮,它将一个值从嵌入该值的行复制到剪贴板。我还在页面的其他区域使用小部件。当对话框打开时,它将显示在页面上除Silverlight按钮之外的所有其他内容的顶部。由于某些原因,我无法让模态对话框位于这些按钮之上,这显然是一个很大的可用性问题 我已经做了很多研究,还没有找到一个有效的解决方案。我确信这个问题源于我对Silverlight与DOM的关系以及它对

我在页面上有一个HTML表格,其中嵌入了一个小小的Silverlight应用程序,以提供跨浏览器的“复制到剪贴板”功能。整个“应用程序”是一个按钮,它将一个值从嵌入该值的行复制到剪贴板。我还在页面的其他区域使用小部件。当对话框打开时,它将显示在页面上除Silverlight按钮之外的所有其他内容的顶部。由于某些原因,我无法让模态对话框位于这些按钮之上,这显然是一个很大的可用性问题

我已经做了很多研究,还没有找到一个有效的解决方案。我确信这个问题源于我对Silverlight与DOM的关系以及它对布局和样式的影响缺乏深入的理解

我尝试过几件事,包括将“windowless”属性设置为true,将背景设置为“transparent”,我还尝试了一些在博客上找到的样式处理方法。不幸的是,一切都不起作用

下面是用于为每行实例化Silverlight插件的代码

Silverlight.createObjectEx({
    "source": src,
    "parentElement": cell,
    "id": String.format("pluginHost_{0}", id),
    "properties": {
        "height": "16",
        "width": "16",
        "background": "transparent",
        "windowless": true,
        "enableHtmlAccess": true,
        "version": "4.0.50826.0"
    },
    "events": {
        "onLoad": null,
        "onError": null
    },
    "initParams": String.format("url={0}", item.Url),
    "context": null
});
正如我之前所说,它只是一个小的(16px)按钮,它从关联的数据行中获取一个URL作为初始化参数,并在按下按钮时将其复制到剪贴板。因为数据是通过外部web服务动态加载的,所以我使用Silverlight.js库加载插件,以便在每行初始化插件时传入数据

Silverlight.createObjectEx({
    "source": src,
    "parentElement": cell,
    "id": String.format("pluginHost_{0}", id),
    "properties": {
        "height": "16",
        "width": "16",
        "background": "transparent",
        "windowless": true,
        "enableHtmlAccess": true,
        "version": "4.0.50826.0"
    },
    "events": {
        "onLoad": null,
        "onError": null
    },
    "initParams": String.format("url={0}", item.Url),
    "context": null
});
谁能告诉我为什么我的表格中的按钮显示在模态对话框的顶部(以及我在表格顶部移动的任何其他元素)

这是我看到的屏幕截图


谢谢

我遇到了一个类似的问题,当时我试图在silverlight容器上显示gif进度图像。为此,我有一个预先编写的javascript。它没有像预期的那样工作,因为silverlight总是位于网页中其他元素的顶部

我尝试了以下对我有用的方法:

在网页中创建silverlight对象的位置添加以下内容:

<param name="windowless" value="true" />
参考:

非常感谢您提供的解决方案。这对我分析和解决问题有很大帮助。
var divelement = document.getElementById("element_to_be_on_top");
divelement.style.zIndex = 999;