2012-07-23 73 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. 消息框在停用 - 休眠 - 激活循環後重新顯示。
相關問題