控件中国网现已改版,您看到的是老版本网站的镜像,系统正在为您跳转到新网站首页,请稍候.......
中国最专业的商业控件资讯网产品咨询电话:023-67870900 023-67871946
产品咨询EMAIL:SALES@COMPONENTCN.COM

Silverlight 2.0在IE6 SP2上的虚线边框问题

作者:野文 出处:博客园 2010年01月29日 阅读:

在《Silverlight嵌入到HTML之windowless属性及运用AjaxControlToolKit时出现虚线边框的问题》里谈一些Silverlight在浏览器上运行时会出现虚线边框的问题,当时主要考虑了IE7和FireFox,却没想到在ie6 sp2上还是会出现虚线边框,必须鼠标点击一次让其获得焦点虚线边框才消失。

  经过测试,发现如果用<asp:Silverlight />引入silverlight来取代直接使用<object>可以避免虚线边框的出现。实际上直接使用<object>的代码可以完全移植到<asp:Silverlight />里,<asp:Silverlight />是动态生成了object标签的,只不过其中的很多js我还没有看得很明白。

  需要注意的一点,直接使用<object>对应的代码可以写成这样:


<div id="silverlightHost" style="width:275px;height:324px;background-color:transparent;float:left">
        
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" style="width:100%;height:100%;position:absolute">
            
<param name="source" value="../ClientBin/Silverlight.xap"/>
            
<param name="onerror" value="onSilverlightError" />
            
<param name="onload" value="onSilverlightLoaded" />
            
<param name="background" value="transparent" />
            
<param name="windowless" value="true" />
            
<param name="minRuntimeVersion" value="2.0.31005.0" />
            
<param name="autoUpgrade" value="true" />
            
<href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;">
                 
<img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none"/>
            
</a>
        
</object>
        
<iframe style='visibility:hidden;height:0;width:0;border:0px'></iframe>
    
</div>

  在对应的onSilverlightLoaded事件中可以获得<object>元素及包含他的<div>:


function onSilverlightHomePeoplePickerLoaded(sender, args) {            
      
var objElement = sender.getHost();
      
var divHost = objElement.parentNode;
}

  

  使用<asp:Silverlight />控件实际上生成的也是<object>,只不过在<object>标签外面加了一个<span>,大致等价于:


<span>
  
<object>
    .
  
</object>
</span>

      所以如果将上面的<object>改成用<asp:Silverlight />控件:


<div id="silverlightHost"  style="height:100%;">        
     
<asp:Silverlight ID="Xaml1" runat="server" Source="~/ClientBin/SilverlightApplication1.xap" MinimumVersion="2.0.31005.0" Width="100%" Height="100%" OnPluginLoaded="onSilverlightLoaded" />
</div>

     对应的javascript代码要稍做修改: 

function onSilverlightHomePeoplePickerLoaded(sender, args) {            
      
var objElement = sender.get_element();
      
var divHost = objElement.parentNode.parentNode;
}

(本文由控件中国网转载) 

热推产品

  • ActiveReport... 强大的.NET报表设计、浏览、打印、转换控件,可以同时用于WindowsForms谀坔攀戀Forms平台下......
  • AnyChart AnyChart使你可以创建出绚丽的交互式的Flash和HTML5的图表和仪表控件。可以用于仪表盘的创......
首页 | 新闻中心 | 产品中心 | 技术文档 | 友情连接 | 关于磐岩 | 技术支持中心 | 联系我们 | 帮助中心 Copyright-2006 ComponentCN.com all rights reserved.重庆磐岩科技有限公司(控件中国网) 版权所有 电话:023 - 67870900 传真:023 - 67870270 产品咨询:sales@componentcn.com 渝ICP备12000264号 法律顾问:元炳律师事务所 重庆市江北区塔坪36号维丰创意绿苑A座28-5 邮编:400020
在线客服
在线客服系统
在线客服
在线客服系统