2012-07-23 56 views
0

我想在应用程序启动时显示消息框。
我用我的第一个屏幕OnActivated方法显示模态对话框。Caliburn Micro中的屏幕事件(在启动时显示消息框)

它工作正常。而用户停用应用程序而没有按下Ok的情况工作得很好。再次激活应用后,显示新的messageBox。完善。

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

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

我可以以某种方式得到一些事件每次窗体导航到但稍后(如OnViewLoaded事件)发射?

什么时候OS停止超时定时器? 正如我在OnNavigated看到它是禁止显示模式对话框,但在Loaded处理程序 - 已可能

回答

0

对不起,快速自我回答。突然发现一个小黑客。

我ovverriden的OnNavigatedTo方法一样,

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

而且我显示了在Caliburns OnViewReady方法的MessageBox。

结果

  1. 应用不被OS用于拍摄的负载时间> 10秒杀死。
  2. 消息框在停用 - 休眠 - 激活循环后重新显示。
相关问题