检查消息框是否打开WPF C#?

son*_*ony 3 c# wpf

我有一个WPF应用程序,窗口变小,如果它被取消激活,移动到侧面.但是如果窗口上打开了消息框,我不希望发生此功能.有没有办法可以检查C#代码中是否有任何对话框打开?

Sve*_*enG 11

用静态类/方法将调用包装到MessageBox中.如果调用此方法,则设置一个MessageBox打开的标志.

像这样的东西:

  public class MessageBoxWrapper
  {
    public static bool IsOpen {get;set;} 

    // give all arguments you want to have for your MSGBox
    public static void Show(string messageBoxText, string caption)
    {
     IsOpen = true;
     MessageBox.Show(messageBoxText, caption);
     IsOpen = false;
    }
  }
Run Code Online (Sandbox Code Playgroud)

用法:

MessageBoxWrapper.Show("TEST","TEST");
MessageBoxWrapper.IsOpen
Run Code Online (Sandbox Code Playgroud)

但是你必须确保始终使用Wrapper来调用MessageBox