Silverlight 置于悬浮层之下 背景透明的方法
当Silverlight整合到网页上的时候,也许不多见,但是也有可能需要将Silverlight置于某层之下,或者使背景透明。
就像FLASH一样,只需要设置标签属性就可以了。
首先看看如何将Silverlight设置为可置于层下
在ASP.NET页里 将 Windowless 属性设置为"true" 及Windowless="true"
在HTML页里 添加属性 <param name="Windowless" value="true" />
这样就可以了
之后,看看如何设置Silverlight背景透明
第一步,Silgerlight控件的容器的背景色设置为空 如: <Grid x:Name="LayoutRoot" Background="White"> 改成<Grid x:Name="LayoutRoot" > 将Background 属性删除。这样Silverlight控件本身就可透明了。
第二步,添加上网页上,跟之前一样
在ASP.NET,需要添加Windowless="true"属性,同时要将PluginBackground设置为Transparent。及PluginBackground="Transparent"。
在HTML页上,添加<param name="Windowless" value="true" />,同时将background设置为#00000000 或者 Transparent 或者就直接留空 "",但是不可把background属性删除。如 <param name="background" value="" /> 或 <param name="background" value="Transparent " />或<param name="background" value="#00000000" />
最后的样子大概这样
HTML页中:
<object data="data:application/x-silverlight," type="application/x-silverlight-2" width="20%" height="20%">
<param name="source" value="SilverlightTest.xap"/>
<param name="onerror" value="onSilverlightError" />
<param name="background" value="Transparent" />
<param name="minRuntimeVersion" value="2.0.31005.0" />
<param name="autoUpgrade" value="true" />
<param name="Windowless" value="true" />
<a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;">
<img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="获取 Microsoft Silverlight" style="border-style: none"/>
</a>
</object>
ASPX页中:
<asp:Silverlight ID="Silverlight1" runat="server" Height="50px"
Source="~/SilverlightTest.xap" Width="200px" Windowless="true" PluginBackground="Transparent">
</asp:Silverlight>
这样,就可以设置Silverlight可置于层之下,并且背景透明了。