C#代码如下:
using System;以上代码实现了一个局部类AppObj,该类继承自基类Application。同时,代码中还实现了AppObj的构造函数。开发人员可在InitializeComponent方法中设置一些初始化内容,例如设置属性等。
using System.Windows;
public partial class AppObj : Application
{
public AppObj()
{
InitializeComponent();
}
}
需要读者注意的是,在使用方法(1)和方法(3)时,并不需要如方法(2)那样编写Main方法,编译器可自动完成该工作。
当开发人员使用以上方法,通过Application对象创建应用程序之后,很自然的需要访问当前的应用程序。这是通过Application类的Current属性来实现。
举例而言,当开发人员使用上一节中的方法(2)创建一个包含窗口的应用程序之后,为了实现访问当前应用程序窗口的Title属性,可使用如下代码:
Window main = Application.Current.MainWindow;Current是一个静态属性,其用于获取当前应用程序域(System.AppDomain)的Application对象。Application对象的MainWindow属性可获取应用程序的主窗口。
MessageBox.Show("窗口的Title属性值是" + main.Title);
当然,在有效获取表示当前应用程序的Application对象之后,不仅可以访问应用程序的各种属性,而且还可以访问其他任何方法等成员,甚至是为主窗口添加的事件等。
3. 应用程序的事件
WPF应用程序的生命周期中包括多个事件,这些事件与Application对象之间关系非常紧密。这些事件包括Startup、Exit、SessionEnding、Activated、Deactivated、DispatcherUnhandledException等。如图1所示,显示了独立应用程序中的事件发生过程。