WPF ShowDialog returns null immediately on second call WPF ShowDialog returns null immediately on second call wpf wpf

WPF ShowDialog returns null immediately on second call


Not a bug. The default ShutdownMode of Application is OnLastWindowClosed, so as soon as the first window is closed your application will start shutting down! Change to OnExplicitShutdown and it will work, but you'll have to manage the shutdown.

I think you probably just need to rethink what you're actually trying to achieve. Why would you display two subsequent dialog windows during the startup of your app?


For anyone that has the same problem, here is how you can get around it:

public App(){    // Preserve and temporarily switch shutdown mode    var oldShutdownMode = ShutdownMode;    ShutdownMode = ShutdownMode.OnExplicitShutdown;    var dialog = new Window();    var result = dialog.ShowDialog();    dialog = new Window();    result = dialog.ShowDialog(); // This will show!    // Reset shutdown mode to original value    ShutdownMode = oldShutdownMode;    }