如何在WPF中建立模态对话框?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (16)

我正在WPF中编写我的第一个应用程序,并希望让用户在模态对话窗口上输入一些数据。显然,这在WPF中并不容易,因为父窗口保持完全启用状态,并且创建新子窗口的方法不会停止并等待子窗口调用Close()。相反,它只是继续前进。这不是我想要的。

我怎样才能让子窗口打开,并在父窗口继续执行之前让父窗口等待子窗口关闭?

提问于
用户回答回答于

是否尝试使用ShowDialog方法显示您的窗口?

不要忘记将对话窗口上的Owner属性设置为主窗口。这将避免当Alt + Tabbing等时出现奇怪的行为。

用户回答回答于

Window.Show窗口将显示窗口,并继续执行 - 这是一个非阻塞的调用。

Window.ShowDialog将阻塞调用线程(kinda [1]),并显示对话框。它还会阻止与父母/拥有窗口的交互。当对话被解散(无论什么原因)时,ShowDialog将返回给调用者,并允许你访问DialogResult(如果你需要的话)。

扫码关注云+社区