Transparent PNG in WPF window

27,936

Solution 1

Lots of information here. I think the piece you're missing is AllowsTransparency="True" on your window.

Solution 2

My window had a default background on it and this didn't work for me without setting Background="Transparent" on the window (probably due to Expression Blend), just in case anyone has a similar issue like this.

Share:
27,936
NoWar
Author by

NoWar

[email protected]

Updated on July 09, 2022

Comments

  • NoWar
    NoWar almost 2 years

    I try to apply PNG image that has transparency into the whole window but the window is always white.

    Any clue to see PNG with its transparency?

    Thank you!

    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>