C# 新对话框导致窗口在WPF应用程序中消失

C# 新对话框导致窗口在WPF应用程序中消失,c#,wpf,windows,dialog,caliburn.micro,C#,Wpf,Windows,Dialog,Caliburn.micro,我正在运行WPF应用程序,它可以在应用程序的主屏幕上显示窗口和对话框(.NET Framefork 4.7.2) 我使用iWindows管理器接口调用ShowWindow和ShowDialog 当我想展示一些窗口时 Execute.OnUIThread(ShowPostProcessingLoadingMsg); private void ShowPostProcessingLoadingMsg() { Logger.Info("PostProcessingToo

我正在运行WPF应用程序,它可以在应用程序的主屏幕上显示窗口和对话框(.NET Framefork 4.7.2) 我使用iWindows管理器接口调用ShowWindow和ShowDialog

当我想展示一些窗口时

Execute.OnUIThread(ShowPostProcessingLoadingMsg);
    private void ShowPostProcessingLoadingMsg()
    {
        Logger.Info("PostProcessingToolViewModel: ShowPostProcessingLoadingMsg()");
        if (_processingProgressMsg != null)
        {
            Logger.Warn("PostProcessingToolViewModel: ShowPostProcessingLoadingMsg() Loading msg was actibe already, closing it and creating a new one.");
            _processingProgressMsg.TryClose();
        }
        _processingProgressMsg = new LoadingMessageViewModel()
        {
            ShowProgressRing = Visibility.Hidden,
            ShowProgressBar = Visibility.Visible,
            LoadingVisualState = LoadingVisualState.Mini
        };
        _progress = _processingProgressMsg.Progress;
        _progress?.Report(0);
        _updateProgressText = _processingProgressMsg.SetMessage;
        _WindowManager?.ShowWindow(_processingProgressMsg);
    }
在这个过程中,我在另一个线程上显示了一个对话框-

    private void ShowPopupInDesktop(BatteryViewModel batteryPopupViewModel)
    {
        _logger.Info("BatteryViewModel::ShowPopupInDesktop: Going to show battery dialog");
        _isPopupOpen = true;
        SetPopupPosition(batteryPopupViewModel);
        _windowManager.ShowDialog(batteryPopupViewModel, BatteryPopupViewContextName);
    }
然后我展示的窗户消失了


我不知道如何保持窗口打开,以及为什么对话框会使其消失。

您可以共享完整的示例吗?您使用的是哪个应用程序框架?@PavelAnikhouski-这是一个非常大的项目,我无法共享,但我添加了完整的示例methods@Eldar.NET Framefork 4.7.2我问的是
Caliburn.Micro
部分。