Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.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# 在CaliburnMicro中从ViewModel中关闭对话框_C#_Wpf_Mvvm_Caliburn.micro - Fatal编程技术网

C# 在CaliburnMicro中从ViewModel中关闭对话框

C# 在CaliburnMicro中从ViewModel中关闭对话框,c#,wpf,mvvm,caliburn.micro,C#,Wpf,Mvvm,Caliburn.micro,假设我们有这样的VM: class ViewModel : Screen { public ViewModel() { if(some condition) { TryClose(); } } } 然后在另一个类中,我使用WindowManager显示它 _windowManager.ShowDialog(new ViewModel()); 但是TryClose在这里不工作。所以问题来了:如何在ViewModel的构造函数中取消对话框?构造函

假设我们有这样的VM:

class ViewModel : Screen 
{
  public ViewModel()
  {
    if(some condition)
    {
      TryClose();
    }
  }
}
然后在另一个类中,我使用WindowManager显示它

_windowManager.ShowDialog(new ViewModel());

但是TryClose在这里不工作。所以问题来了:如何在ViewModel的构造函数中取消对话框?

构造函数是取消对话框的好地方。您可以覆盖OnViewLoaded并在那里执行您的工作。在对话框实际显示之前,可以使用许多替代