wpf应用程序中有个application。这就是应用程序级别的概念。一个wfp程序就是一个application。即使是多个窗口的wpf程序也只有一个application。而且是程序内全部共享的
application包含一些基本的事件,比如启动,关闭,激活,失去激活等这些基本事件
比如启动事件Startup="":这个事件是在应用程序启动的时候触发的事件,比如说显示某个窗口或者做些某些附加的操作。但是如果只是为了显示某个窗口而已可以使用一个属性StartupUri;
退出事件Exit:退出应用程序的时候执行的事件
还有激活和失去激活事件Activated="" Deactivated=""
application也有两个方法进行打开和关闭应用程序
application.run()和application.current.shutdown();
但是有一个特殊的退出机制。某些情况下应用程序是因为外部的原因终止退出的,比如计算机关机,死机,休眠等等这些情况。这个时候会引发这个事件SessionEnding
application是一个应用程序级别范围内的共享对象。因此可以存储一些程序内共有的资源和对象
应用程序提供 Properties 属性来公开可以在应用程序范围内共享的状态
// Set an application-scope property with a custom type CustomType customType = new CustomType(); Application.Current.Properties["CustomType"] = customType; ...
// Get an application-scope property // NOTE: Need to convert since Application.Properties is a dictionary of System.Object CustomType customType = (CustomType)Application.Current.Properties["CustomType"];
应用程序提供了 Resources 属性,以使开发人员可以在应用程序内共享 UI 资源
// Set an application-scope resource
Application.Current.Resources["ApplicationScopeResource"] = Brushes.White;
// Get an application-scope resource
Brush whiteBrush = (Brush)Application.Current.Resources["ApplicationScopeResource"];
下面是应用程序的生命周期图
这是xbap和桌面应用程序有些不同
application包含一些基本的事件,比如启动,关闭,激活,失去激活等这些基本事件
比如启动事件Startup="":这个事件是在应用程序启动的时候触发的事件,比如说显示某个窗口或者做些某些附加的操作。但是如果只是为了显示某个窗口而已可以使用一个属性StartupUri;
退出事件Exit:退出应用程序的时候执行的事件
还有激活和失去激活事件Activated="" Deactivated=""
application也有两个方法进行打开和关闭应用程序
application.run()和application.current.shutdown();
但是有一个特殊的退出机制。某些情况下应用程序是因为外部的原因终止退出的,比如计算机关机,死机,休眠等等这些情况。这个时候会引发这个事件SessionEnding
application是一个应用程序级别范围内的共享对象。因此可以存储一些程序内共有的资源和对象
应用程序提供 Properties 属性来公开可以在应用程序范围内共享的状态
// Set an application-scope property with a custom type CustomType customType = new CustomType(); Application.Current.Properties["CustomType"] = customType; ...
// Get an application-scope property // NOTE: Need to convert since Application.Properties is a dictionary of System.Object CustomType customType = (CustomType)Application.Current.Properties["CustomType"];
应用程序提供了 Resources 属性,以使开发人员可以在应用程序内共享 UI 资源
// Set an application-scope resource
Application.Current.Resources["ApplicationScopeResource"] = Brushes.White;
// Get an application-scope resource
Brush whiteBrush = (Brush)Application.Current.Resources["ApplicationScopeResource"];
有时,应用程序可能在非正常条件下关闭,例如当引发意外的异常时。在此情况下,应用程序可能没有代码来检测和处理异常。这种类型的异常是未处理的异常;在应用程序关闭之前,将显示一个如下图所示的通知。
实现此支持的前提是能够检测到未处理的异常(对于该异常将引发 DispatcherUnhandledException 事件)。
下面是应用程序的生命周期图
这是xbap和桌面应用程序有些不同