Caliburn Micro中的屏幕事件(启动时显示消息框)



我想在应用程序启动时显示消息框
我使用第一个屏幕的OnActivated方法来显示模式对话框。

它运行良好。用户在未按"确定"的情况下停用应用程序的情况也很好。再次激活应用程序后,显示新的messageBox。完美的

但问题是,应用程序并没有完全初始化,操作系统在等待5或10秒后杀死了应用程序。

我尝试使用OnViewLoaded事件。但并不是每次屏幕为navigatedTo时都会触发此事件。

我是否可以在每次导航表单时以某种方式触发一些事件,但要晚一点(如OnViewLoaded事件)?

操作系统在什么时候停止其超时计时器?正如我在OnNavigated中看到的那样,禁止显示模式对话框,但在Loaded处理程序中——已经可能出现

很抱歉快速自我回答。突然发现一个小黑客。

我在导航时发现了类似的方法

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
    base.OnNavigatedTo(e);
    base.InvalidateMeasure();
}

并且我在Caliburns OnViewReady方法中显示MessageBox。

因此

  1. 应用程序不会因为加载时间超过10秒而被操作系统杀死
  2. 消息框在停用休眠激活循环后重新显示

最新更新