【问题标题】:Prevent Custom Message Dialog ( a modal dialog) focus loss in WPF [duplicate]防止 WPF 中的自定义消息对话框(模式对话框)焦点丢失 [重复]
【发布时间】:2016-09-09 08:43:21
【问题描述】:

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

我创建了一个新的 WPF Window,我想强制用户在返回应用程序之前与自定义消息框进行交互,从而阻止他们使用应用程序,直到自定义消息框内的按钮被按下。

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

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

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

任何想法如何使这成为可能?

【问题讨论】:

  • 您是否通过 ShowDialog 调用显示您的自定义消息框?如果没有 - 使用它而不是仅仅显示。
  • 当然,如果我理解了这个问题,你想让它成为自定义的MessageBox 模态对话框,对吗?您可以将问题改写为如何创建模式窗口
  • this
  • @afaolek 老实说,短语“模态对话框/窗口”是我以前从未听过的短语。我有相当多的编程经验,但在术语和理论方面我一头雾水。

标签: c# wpf


【解决方案1】:

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

【讨论】:

  • 就这样吧?这比我预期的要容易得多。这工作正常,它解决了问题,谢谢! :)
  • @DethoRhyne 不客气,当您知道要寻找什么时会更容易!不要忘记将您的问题标记为已解决
  • 确实如此。当然,由于时间限制,我当时不能,但现在我做到了!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-31
  • 1970-01-01
  • 2010-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多