Catel WPF关机模式

时间:2017-03-08 14:06:01

标签: c# wpf mvvm catel

我想使用IUiVisualizaerService显示第二个窗口,然后关闭\ hide MainWindow。如果我在MainWindow上调用CloseViewModelAsync,它将关闭整个应用程序。即使我在App.xaml上指定了关闭模式为OnLastWindowClose或OnExplicitShutdown。我该如何覆盖这种行为?

private async void OnOpenProjectExecute()
    {
        ProjectMainWindowViewModel viewModel = new ProjectMainWindowViewModel();
        this.uiVisualizerService.Show(viewModel);
        await this.CloseViewModelAsync(true);       
    }

修改

我将方法改为

 private Task OnOpenProjectExecute()
    {
        ProjectMainWindowViewModel viewModel = new ProjectMainWindowViewModel();
        this.uiVisualizerService.Show(viewModel);
        return this.CloseViewModelAsync(false);
    }

ExplicitShutdown现在正在工作,但新创建的窗口仍在关闭。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

  1. 确保在app.xaml.cs
  2. 中设置关机模式
  3. 提示:如果您需要异步命令,请使用TaskCommand