C# 防止WPF中的自定义消息对话框(模式对话框)焦点丢失

C# 防止WPF中的自定义消息对话框(模式对话框)焦点丢失,c#,wpf,C#,Wpf,我正在开发一个应用程序,出于应用程序的自定义目的,我需要一个自定义的MessageBox 我已经创建了一个新的WPF窗口,我想强制用户在返回应用程序之前与自定义消息框进行交互,从而防止用户在按下自定义消息框内的按钮之前使用该应用程序 我尝试过使用.Focus(),但根本不起作用 给我一个完美的例子来说明我想要什么: 尝试在Outlook中按“另存为”,然后再次单击“邮件”窗口。 您会立即“重定向”到“另存为”对话框,并且在对话框关闭之前无法在主窗口上执行任何操作 有什么办法可以做到这一点吗?基本

我正在开发一个应用程序,出于应用程序的自定义目的,我需要一个自定义的
MessageBox

我已经创建了一个新的WPF
窗口
,我想强制用户在返回应用程序之前与自定义消息框进行交互,从而防止用户在按下自定义消息框内的按钮之前使用该应用程序

我尝试过使用
.Focus()
,但根本不起作用

给我一个完美的例子来说明我想要什么:

尝试在Outlook中按“另存为”,然后再次单击“邮件”窗口。
您会立即“重定向”到“另存为”对话框,并且在对话框关闭之前无法在主窗口上执行任何操作


有什么办法可以做到这一点吗?

基本上,您希望新的
窗口是模态的。在WPF中执行此操作的方法是调用
ShowDialog
方法,而不仅仅是
Show
基本上,您希望新的
窗口是模态的。在WPF中执行此操作的方法是调用
ShowDialog
方法,而不仅仅是
Show

是否通过ShowDialog调用显示自定义messagebox?如果没有-使用它而不是仅仅显示。当然,如果我理解了这个问题,你想让它成为定制的
MessageBox
模式对话框,对吗?你可以将这个问题重新表述为如何创建模态windowSee@afaolek老实说,“模态对话框/窗口”这个短语是我以前从未听说过的。我有相当多的编程经验,但术语和理论方面我还处于困境。您是否通过ShowDialog调用显示自定义messagebox?如果没有-使用它而不是仅仅显示。当然,如果我理解了这个问题,你想让它成为定制的
MessageBox
模式对话框,对吗?你可以将这个问题重新表述为如何创建模态windowSee@afaolek老实说,“模态对话框/窗口”这个短语是我以前从未听说过的。我有相当多的编程经验,但术语和理论方面我很穷。就这样,嗯?这比我预想的要容易得多。这很好,解决了问题,谢谢!:)@DethoRhyne不客气,当你知道要找什么的时候就容易多了!别忘了把你的问题标记为确实是真的。当然,由于时间限制,我当时不能,但我现在做到了!就这样,嗯?这比我预想的要容易得多。这很好,解决了问题,谢谢!:)@DethoRhyne不客气,当你知道要找什么的时候就容易多了!别忘了把你的问题标记为确实是真的。当然,由于时间限制,我当时不能,但我现在做到了!