Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 卡特尔WPF关闭模式_C#_Wpf_Mvvm_Catel - Fatal编程技术网

C# 卡特尔WPF关闭模式

C# 卡特尔WPF关闭模式,c#,wpf,mvvm,catel,C#,Wpf,Mvvm,Catel,我想使用IUIVisualizerService显示第二个窗口,并关闭\隐藏主窗口。若我在MainWindow上调用CloseViewModelAsync,它将关闭整个应用程序。即使我在App.xaml上将关机模式指定为OnLastWindowClose或OnExplicitShutdown。我如何覆盖此行为 private async void OnOpenProjectExecute() { ProjectMainWindowViewModel viewModel =

我想使用IUIVisualizerService显示第二个窗口,并关闭\隐藏主窗口。若我在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正在工作,但新创建的窗口仍在关闭。有什么建议吗

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

  • 谢谢你给我小费。我还在OnStartup方法中的App.xaml.cs中设置了关机模式,但它没有帮助<代码>this.ShutdownMode=ShutdownMode.OnExplicitShutdown我改变了我的方法。ExplicitShutdown正在工作,但新创建的窗口仍在关闭。有什么建议吗?