NoWar
NoWar

Reputation: 37642

Transparent PNG in WPF window

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>

Upvotes: 7

Views: 33648

Answers (2)

Alexandru
Alexandru

Reputation: 12922

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.

Upvotes: 5

N_A
N_A

Reputation: 19897

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

Upvotes: 11

Related Questions