0

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

它工作得很好。用户在不按确定的情况下停用应用程序的情况很好。再次激活应用程序后messageBox显示新的。完美的。

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

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

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

或者

操作系统在什么时候停止其超时计时器?正如我所见,OnNavigated禁止显示模态对话框,但在Loaded处理程序中 - 已经可能

4

1 回答 1

0

抱歉快速自我回答。突然发现了一个小窍门。

我已经像这样覆盖了 OnNavigatedTo 方法

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

我在 CaliburnsOnViewReady方法中显示 MessageBox。

因此

  1. 应用程序不会因为加载时间超过 10 秒而被操作系统杀死。
  2. 在 deactivate-dorment-activate 循环后重新显示消息框。
于 2012-07-23T14:21:02.320 回答