Silverlight按钮“isWindowless”动态设置

时间:2013-05-21 03:48:20

标签: silverlight

我通过以下代码生成Silverlight按钮。

    Silverlight.createObjectEx(
    {
        source: controlSource, 
        parentElement: container,
        id: "ControlId",
        properties: { width: w, height: h, version: "4.0", background: NUSA_recordButtonBackgroundColor, enableHtmlAccess: "true", initParams: params},
        events: { onLoad: onControlLoad }            
    }

我的问题是,当弹出窗口放在silverlight按钮上时,按钮会弹出弹出窗口。这里Z-index工作不正常。 “isWindowless”属性必须设置为true,才能使功能正常工作。

现在,上面的代码在Js File中,它引用了另一个位置,而不是我们的服务器。我只是在我的页面中使用了JS文件的引用。 在上面的方法中,我必须再添加一个属性[isWindowless ='true']

任何人都可以告诉,如何通过当前页面中的Javascript向JS文件中的现有方法添加属性 (要么) 如何通过javascript取消现有方法

1 个答案:

答案 0 :(得分:1)

所以你不能改变.js文件中的方法? Here is a method(不是我写的)用相同的值刷新Silverlight插件,并设置Windowless属性。这可能是你的起点......

function RefreshSilverlight() {
    var source;
    var initParams;
    var SLControl = window.document.getElementById('WebResource_KBArticleLookup');
    var parent = SLControl.parentNode; 

   for (var i = 0; i < SLControl.childNodes.length; i++) 
   {
       for (var j = 0; j < SLControl.childNodes.item(i).attributes.length; j++) 
       {
          if (SLControl.childNodes.item(i).attributes.item(j).nodeValue == 'source') 
          {
              for (var k = 0; k < SLControl.childNodes.item(i).attributes.length; k++)
              {
                 if (SLControl.childNodes.item(i).attributes.item(k).nodeName == 'value')
                 {
                     source = SLControl.childNodes.item(i).attributes.item(k).nodeValue;
                 }
              }
          }

         if (SLControl.childNodes.item(i).attributes.item(j).nodeValue == 'initParams') 
         {
            for (var k = 0; k < SLControl.childNodes.item(i).attributes.length; k++) 
            {
               if (SLControl.childNodes.item(i).attributes.item(k).nodeName == 'value')
               {
                  initParams = SLControl.childNodes.item(i).attributes.item(k).nodeValue;
               }
            }
         }
      }
    }

    parent.removeChild(SLControl);
    Silverlight.createObject(source,
                             parent,
                             "WebResource_KBArticleLookup",
                             {
                                 width: '800',
                                 height: '600',
                                 windowless: 'true',
                                 enablehtmlaccess: 'true',
                                 minRuntimeVersion: '4.0'
                             },
                             null, initParams, null);

}