2011-08-27 50 views
1

我剛開始學習Silverlight,但未能在我的asp.net頁面中爲我的Silverlight應用程序使用透明背景。我已經在互聯網上搜索,發現這兩條線應該修復它:Silverlight ASP.NET透明背景

 <param name="background" value="Transparent" /> 
     <param name="pluginbackground" value="Transparent" /> 

可惜事與願違。這裏是我嵌入Silverlight應用程序的方式:

<form id="form1" runat="server" style="height:100%"> 
    <div id="silverlightControlHost"> 
     <object data="data:SilverlightApplication4," type="application/x-silverlight-2" width="100%" height="100%"> 
      <param name="source" value="ClientBin/SilverlightApplication4.xap"/> 
      <param name="onError" value="onSilverlightError" /> 
      <param name="background" value="Transparent" /> 
      <param name="pluginbackground" value="Transparent" /> 
      <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50826.0" style="text-decoration:none"> 
       <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/> 
      </a> 
     </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div> 
    </form> 

,這是我的Silverlight代碼:

<UserControl x:Class="SilverlightApplication4.MainPage" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    mc:Ignorable="d" 
    d:DesignHeight="300" d:DesignWidth="400" Loaded="UserControl_Loaded" BorderBrush="Transparent"> 


    <StackPanel x:Name="LayoutRoot" Height="147" Width="226" Background="Transparent"> 
     <StackPanel.Resources> 
      <Storyboard x:Name="FirstStoryBoard"> 
       <DoubleAnimation Storyboard.TargetName="FirstEllipse" 
          Storyboard.TargetProperty="Width" 
          To="1" AutoReverse="True" 
          Duration="00:00:01" /> 
      </Storyboard> 
     </StackPanel.Resources> 

     <TextBlock Text="Hello, World!" HorizontalAlignment="Center" Name="txtMessege" /> 
     <Ellipse Name="FirstEllipse" Height="100" Width="200" Fill="SlateBlue" /> 
     <Button Name="FirstButton" Width="100" Content="Click" Click="FirstButton_Click" /> 
    </StackPanel> 

</UserControl> 

回答

1

嘗試用這些參數:

<param name="background" value="Transparent" /> 
<param name="windowless" value="True" /> 

您可能需要重新啓動瀏覽器太。

+0

我試過這些參數,但現在我發現,當我嘗試在測試網頁上使用這些參數時,以及當我將相同的代碼複製到普通網頁時,它並不總是顯示白色背景。 這裏是我使用的代碼: 將背景設置爲紅色,所以我將能夠看到差異,並將pluginbackground設置爲透明,以使應用透明。 –

+0

非常感謝上述解決方案。它解決了這個問題。 –