前言:每个运行的WPF应用程序都由System.Windows.Application类的一个实例来表示。程序集资源(assemblyre sources)的每个资源是一块可嵌入到编译过得应用程序中的二进制数据。
一、应用程序生命周期
程序启动将立即创建应用对象,在运行时触发各种事件,可监视他们。最后是否对象,程序结束。
注意:WPF允许创建感觉像在web浏览器中运行的完备的应用程序(称为XBAP XAML Browser Application)。值得注意的是:XBAP使用相同的Application类,引发相同的生命周期事件,并采用基于窗口的标准WPF应用程序相同的方式使用程序集资源。
1.手动创建Application对象
创建wpf应用是不使用这个模式。
2.派生自定义的Application类
优点:如果计划处理应用程序事件,这种方法就可以提供一个更整洁的模型,因为在可派生自Application的类中放置所有事件处理代码。
3.应用程序的关闭方式
调用run方法前设置ShutdownMode属性
当调用Shutdown()方法时,应用未必立刻停止运行。调用该方法会导致Application.Run()方法立即返回,但仍可运行main()方法的其他代码或响应Application.Exit事件。
4.应用程序事件
最初,App.xaml.cs文件不包含任何代码。尽管不需要代码,可添加代码来处理应用程序事件。
处理事件有两个选择:关联事件处理程序或重写相应的受保护方法。当重写方法时最好先调用基类的实现(通常基类的实现只是引发相应的应用程序事件)。