Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
ShowDialog Method

Window.ShowDialog Method

Opens a window and returns only when the newly opened window is closed.

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

public Nullable<bool> ShowDialog()

Return Value

Type: System.Nullable<Boolean>
A Nullable<T> value of type Boolean that specifies whether the activity was accepted (true) or canceled (false). The return value is the value of the DialogResult property before a window closes.


ShowDialog is called on a Window that is visible


ShowDialog is called on a visible Window that was opened by calling ShowDialog.


ShowDialog is called on a window that is closing (Closing) or has been closed (Closed).

When a Window class is instantiated, it is not visible by default. ShowDialog shows the window, disables all other windows in the application, and returns only when the window is closed. This type of window is known as a modal window.

Modal windows are primarily used as dialog boxes. A dialog box is a special type of window that applications use to interact with users to complete tasks, such as opening files or printing documents. Dialog boxes commonly allow users to accept or cancel the task for which they were shown before the dialog box is closed. ShowDialog returns a Nullable<T> Boolean value that specifies whether the activity was accepted or canceled. The return value is the value of the DialogResult property before a window closes. For more information, see DialogResult.

A window that is opened by calling the ShowDialog method does not automatically have a relationship with the window that opened it; specifically, the opened window does not know which window opened it. This relationship can be established using the Owner property and managed using the OwnedWindows property. To support UI automation (see UI Automation Overview), Owner must be set for a window opened by calling ShowDialog.

When a modal WPF window (a window opened by calling ShowDialog) is closed, the previously activated window is reactivated. If a modal WPF window has an owner window (see Owner), the owner window is not reactivated when the modal WPF window is closed unless it was the previously activated window.


This method cannot be called when a window is hosted in a browser.

The following sample demonstrates how to open a modal window.

// Instantiate window
DialogBox dialogBox = new DialogBox();

// Show window modally
// NOTE: Returns only when window is closed
Nullable<bool> dialogResult = dialogBox.ShowDialog();

.NET Framework

Supported in: 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

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

Community Additions

© 2015 Microsoft