从ViewModel关闭Caliburn Micro取消窗口

Kri*_*all 13 c# wpf caliburn.micro

当用户单击窗口的关闭按钮时,是否可以从ViewModel取消关闭或者是否必须使用后面的代码?

据我所知,CanClose或TryClose不能解决问题.

Chr*_*Way 23

您可能已经尝试过这个但我刚刚创建了一个快速测试,从ScreenCanClose中获取视图模型并覆盖它.

public class ShellViewModel : Screen
{
    public override void CanClose(Action<bool> callback)
    {
        //if(some logic...)
        callback(false); // will cancel close
    }
}
Run Code Online (Sandbox Code Playgroud)