Application Class

Definition

Encapsulates a Windows Presentation Foundation (WPF) application.

public class Application : System.Windows.Threading.DispatcherObject, System.Windows.Markup.IQueryAmbient
Inheritance
Implements

Inherited Members

System.Object

System.Windows.Threading.DispatcherObject

Examples

The following example shows how a standard application is defined using only markup:

<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" />

The following example shows how a standard application is defined using only code:

using System;
using System.Windows;

namespace SDKSample
{
    public class AppCode : Application
    {
        // Entry point method
        [STAThread]
        public static void Main()
        {
            AppCode app = new AppCode();
            app.Run();
        }
    }
}

Imports Microsoft.VisualBasic
Imports System
Imports System.Windows

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

The following example shows how a standard application is defined using a combination of markup and code-behind.

<Application 
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
  x:Class="SDKSample.App" />
using System.Windows;

namespace SDKSample
{
    public partial class App : Application { }
}

Imports Microsoft.VisualBasic
Imports System.Windows

Namespace SDKSample
	Partial Public Class App
		Inherits Application
	End Class
End Namespace

Remarks

Application is a class that encapsulates WPF application-specific functionality, including the following:

Application implements the singleton pattern to provide shared access to its window, property, and resource scope services. Consequently, only one instance of the Application class can be created per AppDomain.

You can implement an Application using markup, markup and code-behind, or code. If Application is implemented with markup, whether markup or markup and code-behind, the markup file must be configured as an Microsoft build engine (MSBuild) ApplicationDefinition item.

Note

A standalone application does not require an Application object; it is possible to implement a custom static entry point method (Main) that opens a window without creating an instance of Application. However, XAML browser applications (XBAPs) require an Application object.

Constructors

Application()

Initializes a new instance of the Application class.

Properties

Current

Gets the Application object for the current AppDomain.

Main​Window

Gets or sets the main window of the application.

Properties

Gets a collection of application-scope properties.

Resource​Assembly

Gets or sets the Assembly that provides the pack uniform resource identifiers (URIs) for resources in a WPF application.

Resources

Gets or sets a collection of application-scope resources, such as styles and brushes.

Shutdown​Mode

Gets or sets the condition that causes the Shutdown() method to be called.

Startup​Uri

Gets or sets a UI that is automatically shown when an application starts.

Windows

Gets the instantiated windows in an application.

Methods

Find​Resource(​Object)

Searches for a user interface (UI) resource, such as a Style or Brush, with the specified key, and throws an exception if the requested resource is not found (see XAML Resources).

Get​Content​Stream(​Uri)

Returns a resource stream for a content data file that is located at the specified Uri (see WPF Application Resource, Content, and Data Files).

Get​Cookie(​Uri)

Retrieves a cookie for the location specified by a Uri.

Get​Remote​Stream(​Uri)

Returns a resource stream for a site-of-origin data file that is located at the specified Uri (see WPF Application Resource, Content, and Data Files).

Get​Resource​Stream(​Uri)

Returns a resource stream for a resource data file that is located at the specified Uri (see WPF Application Resource, Content, and Data Files).

Load​Component(​Uri)

Loads a XAML file that is located at the specified uniform resource identifier (URI), and converts it to an instance of the object that is specified by the root element of the XAML file.

Load​Component(​Object, ​Uri)

Loads a XAML file that is located at the specified uniform resource identifier (URI) and converts it to an instance of the object that is specified by the root element of the XAML file.

On​Activated(​Event​Args)

Raises the Activated event.

On​Deactivated(​Event​Args)

Raises the Deactivated event.

On​Exit(​Exit​Event​Args)

Raises the Exit event.

On​Fragment​Navigation(​Fragment​Navigation​Event​Args)

Raises the FragmentNavigation event.

On​Load​Completed(​Navigation​Event​Args)

Raises the LoadCompleted event.

On​Navigated(​Navigation​Event​Args)

Raises the Navigated event.

On​Navigating(​Navigating​Cancel​Event​Args)

Raises the Navigating event.

On​Navigation​Failed(​Navigation​Failed​Event​Args)

Raises the NavigationFailed event.

On​Navigation​Progress(​Navigation​Progress​Event​Args)

Raises the NavigationProgress event.

On​Navigation​Stopped(​Navigation​Event​Args)

Raises the NavigationStopped event.

On​Session​Ending(​Session​Ending​Cancel​Event​Args)

Raises the SessionEnding event.

On​Startup(​Startup​Event​Args)

Raises the Startup event.

Run()

Starts a Windows Presentation Foundation (WPF) application.

Run(​Window)

Starts a Windows Presentation Foundation (WPF) application and opens the specified window.

Set​Cookie(​Uri, ​String)

Creates a cookie for the location specified by a Uri.

Shutdown()

Shuts down an application.

Shutdown(​Int32)

Shuts down an application that returns the specified exit code to the operating system.

Try​Find​Resource(​Object)

Searches for the specified resource.

Events

Activated

Occurs when an application becomes the foreground application.

Deactivated

Occurs when an application stops being the foreground application.

Dispatcher​Unhandled​Exception

Occurs when an exception is thrown by an application but not handled.

Exit

Occurs just before an application shuts down, and cannot be canceled.

Fragment​Navigation

Occurs when a navigator in the application begins navigation to a content fragment, Navigation occurs immediately if the desired fragment is in the current content, or after the source XAML content has been loaded if the desired fragment is in different content.

Load​Completed

Occurs when content that was navigated to by a navigator in the application has been loaded, parsed, and has begun rendering.

Navigated

Occurs when the content that is being navigated to by a navigator in the application has been found, although it may not have completed loading.

Navigating

Occurs when a new navigation is requested by a navigator in the application.

Navigation​Failed

Occurs when an error occurs while a navigator in the application is navigating to the requested content.

Navigation​Progress

Occurs periodically during a download that is being managed by a navigator in the application to provide navigation progress information.

Navigation​Stopped

Occurs when the StopLoading method of a navigator in the application is called, or when a new navigation is requested by a navigator while a current navigation is in progress.

Session​Ending

Occurs when the user ends the Windows session by logging off or shutting down the operating system.

Startup

Occurs when the Run() method of the Application object is called.

Explicit Interface Implementations

I​Query​Ambient.​Is​Ambient​Property​Available(​String)

Queries for whether a specified ambient property is available in the current scope.

Thread Safety

The public static (Shared in Visual Basic) members of this type are thread safe. In addition, the FindResource(Object) and TryFindResource(Object) methods and the Properties and Resources properties are thread safe.