当一个WPF应用程序启动时,先会实例化一个全局的唯一的Application。如果开发人员熟悉Windows Form编程,会知道在SystemWindowsForm命名空间中有一个Application类,用于控制整个
应用程序的运行,WPF的Application扮演了与之相同的角色,该类将用于追踪应用程序打开的窗口。在应用程序打开或关闭时,能够出发相应的应用程序事件
应用程序声明周期
Application 类是一个单件类,为UI组件和WPF应用程序的创建与执行提供服务,Application类将贯穿WPF应用程序的始终,当应用程序开始时,SystemWindowsApplication
类将被会创建,谭厚会触发各种不同的应用程序事件,单该应用程序退出时,Application 对象被释放,应用程序终止。
创建Application对象
尽管在va 2012中,不需要手工去创建一个Application,但是掌握Application对象的创建过程对于以后的开发是非常有用的,下面分步骤介绍手动差U年间Application应用程序的过程
1.打开vs 创建一个新的WPF项目,命名空WPFApplication 为了手动穿件一个Application对象,必须先手动清楚vs 项目模板自动生成的App.xaml文件
2.右键项目名称,在弹出的快捷菜单中选择“添加” ——“类”命令,将新创建的类命令为start.cs。
3.在start.cs文件中,添加一下代码
using System; using System.Collections.Generic; using System.Windows; using System.Text; namespace WpfApplication7 { public class start { [STAThread] public static void Main() { Application my = new Application(); //创建一个Application对象 MainWindow myn = new MainWindow(); //MainWindow对象,作为应用程序的主窗口 myn.Title = "这是应用程序的主窗口"; my.Run(myn); } } }
4.最后还必须指定应用程序的入口点为Start类,右键解决方案资源管理器 中的项目名称,在弹出的快捷菜单中选择“属性” 命令。在启动对象下拉列表框中选择"WPFApplication OnStart.cs"选项类
5.现在可以按下F5键启动应用程序,手动创建的Application将被创建并贯穿应用程序的始终。
现在分析上面的代码,在Main方法的声明中,使用[STAThread]特性进行修饰,这是必须的。