如何打开窗口或对话框

你可以创建自己的窗口并在 Windows Presentation Foundation(WPF)中显示它们。 本文介绍如何显示模式和无模式窗口和对话框。

从概念上讲,窗口和对话框是相同的:它们向用户显示以提供信息或交互。 它们都是“窗口”对象。 窗口的设计以及它的使用方式共同构成了对话框。 对话框的大小通常较小,需要用户对其进行响应。 有关详细信息,请参阅 WPF 窗口 概述和 对话框概述

如果有兴趣打开作系统对话框,请参阅 “如何打开通用”对话框

以模式方式打开

打开模式窗口时,它通常表示一个对话框。 WPF 将交互限制为模式窗口,打开窗口的代码将暂停,直到窗口关闭。 此机制提供了一种简单的方法来提示用户输入数据并等待其响应。

使用该方法 ShowDialog 打开窗口。 以下代码实例化窗口,并按模式打开它。 打开窗口的代码将暂停,等待窗口关闭:

var window = new Margins();

window.Owner = this;
window.ShowDialog();
Dim myWindow As New Margins()

myWindow.Owner = Me
myWindow.ShowDialog()

重要

关闭窗口后,不能使用同一对象实例重新打开窗口。

有关如何处理对对话框的用户响应的详细信息,请参阅 对话框概述:处理响应

以无模式方式打开

打开窗口无模式意味着将其显示为普通窗口。 打开窗口的代码将继续在窗口可见时运行。 可以专注于应用程序显示的所有无模式窗口并与之交互,且不受限制。

使用该方法 Show 打开窗口。 以下代码实例化窗口,并以非模态方式打开它。 打开窗口的代码将继续运行:

var window = new Margins();

window.Owner = this;
window.Show();
Dim myWindow As New Margins()

myWindow.Owner = Me
myWindow.Show()

重要

关闭窗口后,不能使用同一对象实例重新打开窗口。

另请参阅