2012-10-15 108 views
6

我嘗試將具有透明度的PNG圖像應用於整個窗口,但窗口始終爲白色。WPF窗口中的透明PNG

任何線索看到它的透明度PNG?

謝謝!

C#

public SplashScreen() 
     { 
      InitializeComponent(); 

      var myBrush = new ImageBrush(); 
      var image = new Image 
      { 
       Source = new BitmapImage(
        new Uri(
         "pack://application:,,,/MyApp;component/Images/Logo.png")) 
      }; 
      myBrush.ImageSource = image.Source; 
      Background = myBrush; 

     } 

XAML

<Window x:Class="MyApp.SplashScreen" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Topmost="True" 
     Title="SplashScreen" Height="400" Width="400" WindowStartupLocation="CenterScreen" WindowStyle="None" 
      BorderThickness="5" ShowInTaskbar="False" ResizeMode="NoResize" > 
    <Grid Name="MainGrid"> 
     <Label FontSize="10" Height="20" Foreground="White" Margin="0,0,0,0" Padding="10,0,0,5" Name="statusLabel" VerticalAlignment="Bottom"></Label> 
     <TextBlock Visibility="Collapsed" FontSize="10" Foreground="White" Margin="18,110,18,30" Name="appInfo" TextAlignment="Center"> 

     </TextBlock> 
     <TextBlock Visibility="Collapsed" FontSize="20" Foreground="White" Margin="0,83,0,90" Name="version" TextAlignment="Center"> 

     </TextBlock> 
    </Grid> 
</Window> 

回答

8

大量信息here。我認爲你缺少的作品是在你的窗口上的AllowsTransparency="True"

3

我的窗口上有一個默認背景,如果沒有在窗口上設置Background =「Transparent」(可能是因爲Expression Blend),這對我來說不起作用,以防萬一任何人有類似的問題。