我想在应用程序启动时显示消息框
我使用第一个屏幕的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。
因此
- 应用程序不会因为加载时间超过10秒而被操作系统杀死
- 消息框在停用休眠激活循环后重新显示