Application对象事件
名称 | 说明 |
Activated | 当应用程序成为前台应用程序时触发 |
Deactivated | 当应用程序不再是前台应用程序时触发 |
DispatcherUnhandledException | 如果异常时由应用程序引发,但未处理时,触发 |
Exit | 在应用程序关闭之前,触发,而且不能撤销 |
FragmentNavigation | 发生在应用程序的一个浏览器启动导航时,会立即发生, 如果所需片段在当前目录,或者在源XAML目录加载后,如果所需片段在其他内容。 |
LoadCompleted | 在导航到在应用程序中的一个浏览器的目录加载的分析完成并已呈现时触发 |
Navigated | 当导航到在应用程序中使用的浏览器已找到的内容时触发,这时它可能还没有完成加载 |
Navigating | 在一个新的导航由应用程序,一个浏览器请求发生时 |
NavigationFailed | 出现问题,则错误,当应用程序的一个浏览器导航到所请求的内容时 |
navigationProgress | 定期发生在应用程序中使用浏览器管理提供导航进度信息的下载过程 |
NavigationStoped | 发生在一个浏览器的StopLoading方法在应用程序的调用,或者,如果新的导航由浏览器请求,在当前导航正在进行的。 |
SessionEnding | 当用户在注销或关闭操作系统关闭Windows会话时发生 |
Startup | 当Application对象的Run方法调用时发生 |
在应用程序中添加事件
1.在App。xaml中做事件的绑定,在App.xaml.cs文件中添加事件的处理方法
添加完事件之后的app.xaml文件代码如下
在App.xaml.cs文件的代码如下
public partial class App : Application { private void Application_Activated(object sender, EventArgs e) { Record.Add(nameof(this.Application_Activated)); } private void Application_LoadCompleted(object sender, NavigationEventArgs e) { Record.Add(nameof(this.Application_LoadCompleted)); } private void Application_Deactivated(object sender, EventArgs e) { Record.Add(nameof(this.Application_Deactivated)); } private void Application_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e) { Record.Add(nameof(this.Application_DispatcherUnhandledException)); } private void Application_Exit(object sender, ExitEventArgs e) { Record.Add(nameof(this.Application_Exit)); } private void Application_FragmentNavigation(object sender, FragmentNavigationEventArgs e) { Record.Add(nameof(this.Application_FragmentNavigation)); } private void Application_Navigated(object sender, NavigationEventArgs e) { Record.Add(nameof(this.Application_Navigated)); } private void Application_Navigating(object sender, NavigatingCancelEventArgs e) { Record.Add(nameof(this.Application_Navigating)); } private void Application_NavigationFailed(object sender, NavigationFailedEventArgs e) { Record.Add(nameof(this.Application_NavigationFailed)); } private void Application_NavigationProgress(object sender, NavigationProgressEventArgs e) { Record.Add(nameof(this.Application_NavigationProgress)); } private void Application_NavigationStopped(object sender, NavigationEventArgs e) { Record.Add(nameof(this.Application_NavigationStopped)); } private void Application_SessionEnding(object sender, SessionEndingCancelEventArgs e) { Record.Add(nameof(this.Application_SessionEnding)); } private void Application_Startup(object sender, StartupEventArgs e) { Record.Add(nameof(this.Application_Startup)); } }
WPF应用程序生存周期
记录执行顺序
- 2019/5/14 9:43:02:Application_Startup
- 2019/5/14 9:43:02:Application_Navigating
- 2019/5/14 9:43:02:Application_Activated
- 2019/5/14 9:43:03:Application_Deactivated
- 2019/5/14 9:43:03:Application_Exit