5

我正在尝试通过使用调用的 WPF 窗口来创建自定义 MessageBox ShowDialog()

到目前为止,我已经设法实现了一切,除了一件事。

如您所知,当您使用时,MessageBox.Show("text");您无法设置焦点或单击父窗口(调用 的那个MessageBox)。如果您确实尝试单击父窗口,MessageBox则会短暂闪烁以提醒您必须先关闭。

但是,使用 创建的 WindowsWindow.ShowDialog();不会显示该行为。事实上,虽然您不能将焦点设置到父窗口,但子窗口(用 调用ShowDialog())永远不会短暂闪烁。

我的问题是,有没有办法在 WPF 中实现它?我一直在寻找答案,但我必须承认,我很难过。

感谢大家!

4

2 回答 2

11

您需要Owner正确设置模态窗口,例如在拥有窗口中使用以下代码:

Window win = new SomeModalWindow();
win.Owner = this;
win.ShowDialog();
于 2010-10-26T19:49:28.610 回答
3

您必须将OwnerchildWindow的属性设置为 parent Window请参阅此处的 MSDN 文档。

于 2010-10-26T19:50:37.273 回答