Caliburn Micro取消窗口从ViewModel关闭

本文关键字:ViewModel 关闭 窗口 Micro 取消 Caliburn | 更新日期: 2023-09-27 18:19:52

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

据我所知,CanClose或TryClos不起作用。

Caliburn Micro取消窗口从ViewModel关闭

您可能已经尝试过了,但我刚刚创建了一个快速测试,从Screen派生了一个视图模型并覆盖了CanClose。

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