This documentation is archived and is not being maintained.

Application.ShutdownMode Property

Gets or sets the condition that causes the Shutdown method to be called.

Namespace:  System.Windows
Assembly:  PresentationFramework (in PresentationFramework.dll)

Public Property ShutdownMode As ShutdownMode
Dim instance As Application 
Dim value As ShutdownMode 

value = instance.ShutdownMode

instance.ShutdownMode = value
<object ShutdownMode="ShutdownMode" .../>

Property Value

Type: System.Windows.ShutdownMode
A ShutdownMode enumeration value. The default value is OnLastWindowClose.

Applications stop running only when the Shutdown method of the Application is called. Shut down can occur implicitly or explicitly, as specified by the value of the ShutdownMode property.

If you set ShutdownMode to OnLastWindowClose, Windows Presentation Foundation (WPF) implicitly calls Shutdown when the last window in an application closes, even if any currently instantiated windows are set as the main window (see MainWindow).

A ShutdownMode of OnMainWindowClose causes Windows Presentation Foundation (WPF) to implicitly call Shutdown when the MainWindow closes, even if other windows are currently open.

The lifetime of some applications may not be dependent on when the main window or last window is closed, or may not be dependent on windows at all. For these scenarios you need to set the ShutdownMode property to OnExplicitShutdown, which requires an explicit Shutdown method call to stop the application. Otherwise, the application continues running in the background.

ShutdownMode can be configured declaratively from XAML or programmatically from code.

This property is available only from the thread that created the Application object.

The following example shows how to configure ShutdownMode to specify that an application must be closed explicitly.


Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0