封装 Windows Presentation Foundation (WPF) 应用程序。
System.Windows.Threading.DispatcherObject
System.Windows.Application
命名空间: System.Windows
程序集: PresentationFramework(在 PresentationFramework.dll 中)
用于 XAML 的 XMLNS:http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
Public Class Application _ Inherits DispatcherObject _ Implements IQueryAmbient
public class Application : DispatcherObject, IQueryAmbient
public ref class Application : public DispatcherObject, IQueryAmbient
type Application = class inherit DispatcherObject interface IQueryAmbient end
<Application .../>
Application 类型公开以下成员。
| 名称 | 说明 | |
|---|---|---|
|
Application | 初始化 Application 类的新实例。 |
| 名称 | 说明 | |
|---|---|---|
|
Current | 获取当前 AppDomain 的 Application 对象。 |
|
Dispatcher | 获取与此 DispatcherObject 关联的 Dispatcher。 (继承自 DispatcherObject。) |
|
MainWindow | 获取或设置应用程序的主窗口。 |
|
Properties | 获取应用程序范围属性的集合。 |
|
ResourceAssembly | 获取或设置为 WPF 应用程序中的资源提供包uniform resource identifiers (URIs) 的 Assembly。 |
|
Resources | 获取或设置应用程序范围资源(如样式和画笔)的集合。 |
|
ShutdownMode | 获取或设置导致调用 Shutdown 方法的条件。 |
|
StartupUri | 获取或设置一个在应用程序启动时自动显示的 UI。 |
|
Windows | 获取应用程序中的实例化窗口。 |
| 名称 | 说明 | |
|---|---|---|
|
CheckAccess | 确定调用线程是否可以访问此 DispatcherObject。 (继承自 DispatcherObject。) |
|
Equals(Object) | 确定指定的 Object 是否等于当前的 Object。 (继承自 Object。) |
|
Finalize | 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。) |
|
FindResource | 使用指定键搜索user interface (UI) 资源(如 Style 或 Brush),并在未找到所请求的资源时引发异常(请参见资源概述)。 |
|
GetContentStream | 返回位于指定 Uri 处的内容数据文件的资源流(请参见 WPF 应用程序资源、内容和数据文件)。 |
|
GetCookie | 为由 Uri 指定的位置检索 Cookie。 |
|
GetHashCode | 用作特定类型的哈希函数。 (继承自 Object。) |
|
GetRemoteStream | 返回位于指定 Uri 处的源站点数据文件的资源流(请参见 WPF 应用程序资源、内容和数据文件)。 |
|
GetResourceStream | 返回位于指定 Uri 处的资源数据文件的资源流(请参见 WPF 应用程序资源、内容和数据文件)。 |
|
GetType | 获取当前实例的 Type。 (继承自 Object。) |
|
LoadComponent(Uri) | 加载位于指定uniform resource identifier (URI) 处的 XAML 文件,并将其转换为由该 XAML 文件的根元素指定的对象的实例。 |
|
LoadComponent(Object, Uri) | 加载位于指定uniform resource identifier (URI) 处的 XAML 文件,并将其转换为由该 XAML 文件的根元素指定的对象的实例。 |
|
MemberwiseClone | 创建当前 Object 的浅表副本。 (继承自 Object。) |
|
OnActivated | 引发 Activated 事件。 |
|
OnDeactivated | 引发 Deactivated 事件。 |
|
OnExit | 引发 Exit 事件。 |
|
OnFragmentNavigation | 引发 FragmentNavigation 事件。 |
|
OnLoadCompleted | 引发 LoadCompleted 事件。 |
|
OnNavigated | 引发 Navigated 事件。 |
|
OnNavigating | 引发 Navigating 事件。 |
|
OnNavigationFailed | 引发 NavigationFailed 事件。 |
|
OnNavigationProgress | 引发 NavigationProgress 事件。 |
|
OnNavigationStopped | 引发 NavigationStopped 事件。 |
|
OnSessionEnding | 引发 SessionEnding 事件。 |
|
OnStartup | 引发 Startup 事件。 |
|
Run | 启动一个 Windows Presentation Foundation (WPF) 应用程序。 |
|
Run(Window) | 启动一个 Windows Presentation Foundation (WPF) 应用程序并打开指定窗口。 |
|
SetCookie | 为由 Uri 指定的位置创建一个 Cookie。 |
|
Shutdown | 关闭一个应用程序。 |
|
Shutdown(Int32) | 关闭将指定退出代码返回给操作系统的应用程序。 |
|
ToString | 返回表示当前对象的字符串。 (继承自 Object。) |
|
TryFindResource | 搜索指定资源。 |
|
VerifyAccess | 强制调用线程具有此 DispatcherObject 的访问权限。 (继承自 DispatcherObject。) |
| 名称 | 说明 | |
|---|---|---|
|
Activated | 当应用程序成为前台应用程序时发生。 |
|
Deactivated | 当应用程序停止作为前台应用程序时发生。 |
|
DispatcherUnhandledException | 在异常由应用程序引发但未进行处理时发生。 |
|
Exit | 恰好在应用程序关闭之前发生,且无法取消。 |
|
FragmentNavigation | 当应用程序中的导航器开始导航至某个内容片断时发生,如果所需片段位于当前内容中,则导航会立即发生;或者,如果所需片段位于不同内容中,则导航会在加载了源 XAML 内容之后发生。 |
|
LoadCompleted | 在已经加载、分析并开始呈现应用程序中的导航器导航到的内容时发生。 |
|
Navigated | 在已经找到应用程序中的导航器要导航到的内容时发生,尽管此时该内容可能尚未完成加载。 |
|
Navigating | 在应用程序中的导航器请求新导航时发生。 |
|
NavigationFailed | 在应用程序中的导航器在导航到所请求内容时出现错误的情况下发生。 |
|
NavigationProgress | 在由应用程序中的导航器管理的下载过程中定期发生,以提供导航进度信息。 |
|
NavigationStopped | 在调用应用程序中的导航器的 StopLoading 方法时发生,或者当导航器在当前导航正在进行期间请求了一个新导航时发生。 |
|
SessionEnding | 在用户通过注销或关闭操作系统而结束 Windows 会话时发生。 |
|
Startup | 在调用 Application 对象的 Run 方法时发生。 |
| 名称 | 说明 | |
|---|---|---|
|
IQueryAmbient.IsAmbientPropertyAvailable | 查询当前范围中是否有指定的环境属性。 |
Application 是一个类,其中封装了 WPF 应用程序特有的功能,包括:
-
应用程序生存期:Activated、Current、Deactivated、DispatcherUnhandledException、Exit、Run、SessionEnding、Shutdown、ShutdownMode、Startup。
-
应用程序范围的窗口、属性和资源管理:FindResource、GetContentStream、GetResourceStream、LoadComponent、MainWindow、Properties、Resources、StartupUri、Windows。
-
命令行参数和退出代码处理:Application.Startup、Application.Exit、Application.Shutdown。
-
导航:FragmentNavigation、LoadCompleted、Navigated、Navigating、NavigationProgress、NavigationStopped、NavigationFailed、SetCookie、GetCookie。
Application 实现单一实例模式以提供对其窗口、属性和资源范围服务的共享访问。 因此,对于每个 AppDomain,只能创建 Application 类的一个实例。
可以使用标记、标记与代码隐藏或代码来实现 Application。 如果 Application 是使用标记实现的(无论是标记还是标记与代码隐藏),则标记文件都必须配置为一个 Microsoft build engine (MSBuild) ApplicationDefinition 项。
注意
|
|---|
|
独立应用程序不需要 Application 对象;可以实现自定义 static 入口点方法 (Main),该方法可以在不创建 Application 的实例的情况下打开一个窗口。 但是,XAML browser applications (XBAPs) 需要 Application 对象。 |
下面的示例演示如何只使用标记来定义一个标准应用程序:
<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" />
下面的示例演示如何只使用代码来定义一个标准应用程序:
Imports Microsoft.VisualBasic Imports System ' STAThread Imports System.Windows ' Application Namespace SDKSample Public Class AppCode Inherits Application ' Entry point method <STAThread> Public Shared Sub Main() Dim app As New AppCode() app.Run() End Sub End Class End Namespace
using System; // STAThread using System.Windows; // Application namespace SDKSample { public class AppCode : Application { // Entry point method [STAThread] public static void Main() { AppCode app = new AppCode(); app.Run(); } } }
下面的示例演示如何使用标记与代码隐藏的组合来定义一个标准应用程序。
<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="SDKSample.App" />
Imports Microsoft.VisualBasic Imports System.Windows ' Application Namespace SDKSample Partial Public Class App Inherits Application End Class End Namespace
using System.Windows; // Application namespace SDKSample { public partial class App : Application { } }
.NET Framework
受以下版本支持:4、3.5、3.0.NET Framework Client Profile
受以下版本支持:4、3.5 SP1Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2
.NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。
此类型的公共 static(在 Visual Basic 中为 Shared)成员是线程安全的。 此外,FindResource 和 TryFindResource 方法以及 Properties 和 Resources 属性是线程安全的。
