Completely hide WPF window on startup?

Posted on

Problem :

I want that my window is completely hidden on the startup. No window, no entry in the taskbar. The user doesn’t see, the application is started.

How can I realize that?

Thank you!

Solution :

An alternative to H.B.’s method is just to set the Visibility to hidden and set ShowInTaskbar to false. This still creates the window and lets it do its thing.

<Window x:Class="WpfApplication2.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525" ShowInTaskbar="False" Visibility="Hidden">
    <Grid>

    </Grid>
</Window>

Don’t show the window. By default there is a StartupUri defined in the App.xaml, remove it and override the OnStartup method in the code-behind to create a window, just Show and Hide it as you wish.

Simply don’t create a window, just delete the StartupUri from App.xaml.

It might be helpful to set the Application to ShutDownMode="OnExplicitShutdown" this will prevent that your application shuts down if your last window was closed.

My requirement:
Start a process to show a window, and embed it into a wpf control. The window must be loaded normally, trigger initialized/loaded events, then run as child window in control.

My solution:
Set the window width and height to 1, after loaded, resize it to normal size. The window will be shown in short time, almost 1 second. User will not notice it.

Leave a Reply

Your email address will not be published. Required fields are marked *