目前我的WPF应用程序中有一个奇怪的行为。 我有一个主窗口和一个设置对话框。我可以显示设置对话框,但当我关闭它时,我的主窗口也将关闭,应用程序退出。
应用程序的ShutdownMode是 OnMainWindowClose 。但这也发生在 OnLastWindowClose 。
这是控制MainWindow和设置窗口的Controller类的代码:
public class MainWindowController : IDisposable, IMainWindowController
{
private readonly MainWindowViewModel mainWindowViewModel;
private readonly MainWindow mainWindow;
private IoAdapter ioAdapter;
public MainWindowController()
{
this.mainWindowViewModel = new MainWindowViewModel(this);
this.mainWindow = new MainWindow { DataContext = this.mainWindowViewModel };
}
public void ShowMainWindow()
{
mainWindow.Show();
}
public void ShowSettingsWindow()
{
var viewModel = new SettingsWindowViewModel();
var settingsWindow = new SettingsWindow { DataContext = viewModel, Owner = this.mainWindow};
var showDialog = settingsWindow.ShowDialog();
if (showDialog != null && showDialog.Value)
{
// Apply Settings
}
}
答案 0 :(得分:0)
你应该完全删除你的方法:
public void ShowMainWindow()
{
mainWindow.Show();
}
并在您的App.xaml的StartupUri
中正常显示MainWindow