C#/WPF,如何使窗口(使用Window.ShowDialog()创建)的标题栏在单击其父窗口时闪烁(就像MessageBox一样)?

6
我试图使用调用ShowDialog()的WPF窗口创建自定义MessageBox。
到目前为止,我已经实现了一切,除了一个问题。
正如你所知道的,当你使用MessageBox.Show("text");时,你无法将焦点设置或单击父窗口(调用MessageBox的窗口)。如果你尝试单击父窗口,MessageBox会短暂闪烁以提醒你必须先关闭它。
然而,使用Window.ShowDialog();创建的窗口不会显示这种行为。事实上,虽然你不能将焦点设置到父窗口,但是使用ShowDialog()调用的子窗口永远不会短暂闪烁。
我的问题是,有没有办法在WPF中实现这个功能?我一直在寻找答案,但我必须承认,我陷入了困境。
谢谢大家!
2个回答

12

你需要正确设置模态窗口的Owner,例如使用以下代码从拥有窗口中进行设置:

Window win = new SomeModalWindow();
win.Owner = this;
win.ShowDialog();

3
您需要将子窗口的Owner属性设置为父窗口。请参阅MSDN文档此处

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接