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

时间:2012-07-23 13:05:48

标签: xaml caliburn.micro

我想在app start上显示消息框 我使用第一个屏幕的OnActivated方法来显示模态对话框。

工作得很好。用户停用应用程序而不按Ok的情况工作正常。再次激活应用后,系统会显示新的messageBox。完美。

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

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

我可以以某种方式在每次导航表格时触发一些事件,但稍后(例如OnViewLoaded事件)?

OR

OS何时停止超时计时器? 我在OnNavigated看到禁止显示模态对话框,但在Loaded处理程序 - 已经可能

1 个答案:

答案 0 :(得分:0)

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

我已经像那样

开始了OnNavigatedTo方法
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
    base.OnNavigatedTo(e);
    base.InvalidateMeasure();
}

我在Caliburns OnViewReady方法中显示MessageBox。

结果

  1. 应用程序未被OS杀死,因为加载时间> 10秒。
  2. 在停用 - 休眠 - 激活周期后,
  3. 消息框将重新显示。