Application类是构建WPF应用程序过程中最常见和最重要的对象之一,其核心功能是封装整个WPF应用程序。换句话说,每个WPF应用程序都是一个Application对象,其支持各种核心应用程序服务。在本文中,笔者将详细讲解Application对象的功能、创建和访问Application对象的方法、应用程序中的事件。这些内容将为开发人员创建WPF应用程序奠定技术基础。
1. Application对象的功能
System.Windows.Application是构建WPF应用程序过程中最为重要和常用的类,其继承自DispatcherObject类。Application类的实例是Application对象。每个WPF应用程序都是通过Application对象来展现自己。Application对象功能众多,主要包括以下功能:
创建和管理常见应用程序架构;
跟踪应用程序生命周期,并与实现与之交互;
获取和处理命令行参数;
共享应用程序范围的属性和资源;
检测和响应未处理异常;
返回退出代码(exit code);
管理独立应用程序(standalone application)中的窗口;
跟踪和管理导航;
由以上介绍的功能可知,Application类功能非常强大。开发人员对于这些功能的了解是不可能一蹴而就的,下面以介绍创建和访问Application对象的方法为起点来讲解这个重要对象。
2. 创建和访问Application对象
通常创建Application对象的方法有三种:(1)使用XAML中的<Application>元素定义;(2)使用C#等代码定义;(3)使用<Application>元素和C#代码共同定义Application对象。
(1)使用<Application>元素定义
这种方法的核心是使用XAML中的<Application>元素,如下代码所示:
<Application
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" />
以上代码仅设置了Application元素的命名空间属性(xmlns和xmlns:x)。由于没有设置启动时所要显示的内容,因此在启动应用程序后将看不到任何信息。这样实现的意义显然不是很大。应用程序启动的内容可通过在<Application>元素中设置StartupUri属性来实现。例如,设置StartupUri ="MyWpf.xaml"。接下来,开发人员可创建一个名为MyWpf.xaml的文件,并在其中定义根元素,子元素以及业务逻辑等。需要注意的是,在其中定义的根元素应该是上一篇系列文章中介绍的根元素,例如Window、Page等元素。