C# 新对话框导致窗口在WPF应用程序中消失
我正在运行WPF应用程序,它可以在应用程序的主屏幕上显示窗口和对话框(.NET Framefork 4.7.2) 我使用iWindows管理器接口调用ShowWindow和ShowDialog 当我想展示一些窗口时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
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
部分。