如何打开窗口或对话框 (WPF .NET)

你可以创建自己的窗口并在 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()

重要

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

另请参阅