从ViewModel关闭Caliburn Micro取消窗口

时间:2012-01-09 15:09:59

标签: c# wpf caliburn.micro

当用户点击Window的关闭按钮时,是否可以从ViewModel取消关闭,或者我是否必须使用代码?

据我所知,CanClose或TryClose无法解决问题。

1 个答案:

答案 0 :(得分:22)

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

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