Application Class

Definition

Class that represents a cross-platform mobile application.

public ref class Application : Microsoft::Maui::Controls::Element, Microsoft::Maui::Controls::IApplicationController, Microsoft::Maui::Controls::IElementConfiguration<Microsoft::Maui::Controls::Application ^>, Microsoft::Maui::IApplication, Microsoft::Maui::IVisualTreeElement
public class Application : Microsoft.Maui.Controls.Element, Microsoft.Maui.Controls.IApplicationController, Microsoft.Maui.Controls.IElementConfiguration<Microsoft.Maui.Controls.Application>, Microsoft.Maui.IApplication, Microsoft.Maui.IVisualTreeElement
type Application = class
    inherit Element
    interface IApplicationController
    interface IElementConfiguration<Application>
    interface IVisualTreeElement
    interface IApplication
    interface IElement
Public Class Application
Inherits Element
Implements IApplication, IApplicationController, IElementConfiguration(Of Application), IVisualTreeElement
Inheritance
Implements

Remarks

The Application class is the core of a Microsoft.Maui.Controls application. It sets the root page of the application, persists primitive type data across invocations of the application in the Properties dictionary, and provides events to respond to pushing and popping of modal views. Visual studio creates this class for the developer in the appropriate project in a new Microsoft.Maui.Controls solution.

Both Visual Studio for Mac and Visual Studio create a XAML and a code-behind file for the application when the developer creates a new Microsoft.Maui.Controls solution. The following example shows a typical Application class, with an entry in its resource dictionary.

<Application xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="App1.App">
<Application.Resources>
<Color x:Key="ButtonBackgroundColor">Red</Color>
</Application.Resources>
</Application>
public partial class App : Application
{
    public App()
    {
        InitializeComponent();

        MainPage = new MainPage();
    }

    protected override void OnStart()
    {
        // Handle when your app starts
    }

    protected override void OnSleep()
    {
        // Handle when your app sleeps
    }

    protected override void OnResume()
    {
        // Handle when your app resumes
    }
}

Constructors

Application()

Initializes a new Application instance.

Fields

ControlsApplicationMapper

Properties

AccentColor
AppLinks

Gets the object that developers use to register or unregister application links.

AutomationId

Gets or sets a value that allows the automation framework to find and interact with this element.

(Inherited from Element)
BindingContext

Gets or sets an object that contains the properties that will be targeted by the bound properties that belong to this BindableObject. This is a bindable property.

(Inherited from BindableObject)
ClassId

Gets or sets a value used to identify a collection of semantically similar elements.

(Inherited from Element)
Current

Gets the current application.

Dispatcher

Gets the dispatcher that was available when this bindable object was created, otherwise tries to find the nearest available dispatcher (probably the window's/app's).

(Inherited from BindableObject)
EffectControlProvider

For internal use by .NET MAUI.

(Inherited from Element)
Effects

Gets or sets the styles and properties that will be applied to the element during runtime.

(Inherited from Element)
Handler

Gets or sets the associated handler for this element.

(Inherited from Element)
Id

Gets a value that can be used to uniquely identify an element throughout the run of your application.

(Inherited from Element)
LogicalChildren
Obsolete.

For internal use by the Microsoft.Maui.Controls platform.

(Inherited from Element)
MainPage

Gets or sets the root page of the application.

NavigationProxy

For internal use by the Microsoft.Maui.Controls platform.

Parent

Gets or sets the parent Element of this element.

(Inherited from Element)
PlatformAppTheme
Properties
Obsolete.

Gets a dictionary of persistent properties for this Application object.

RealParent

For internal use by .NET MAUI.

(Inherited from Element)
RequestedTheme
Resources

Gets or sets the resource dictionary for this Application object.

StyleId

Gets or sets a user defined value to uniquely identify the element.

(Inherited from Element)
UserAppTheme
Windows

Methods

AddLogicalChild(Element)

Adds an Element to the logical children.

(Inherited from Element)
ApplyBindings()

Applies all the current bindings to BindingContext.

(Inherited from BindableObject)
CleanUp()
ClearLogicalChildren()

Removes all child Elements.

(Inherited from Element)
ClearValue(BindableProperty)

Clears any value that is previously set for a bindable property.

(Inherited from BindableObject)
ClearValue(BindablePropertyKey)

Clears any value that is previously set for a bindable property, identified by its key.

(Inherited from BindableObject)
CloseWindow(Window)
CoerceValue(BindableProperty)

Coerces the value of the specified bindable property. This is done by invoking BindableProperty.CoerceValueDelegate of the specified bindable property.

(Inherited from BindableObject)
CoerceValue(BindablePropertyKey)

Coerces the value of the specified bindable property. This is done by invoking BindableProperty.CoerceValueDelegate of the specified bindable property.

(Inherited from BindableObject)
CreateWindow(IActivationState)
EffectIsAttached(String)

For internal use by .NET MAUI.

(Inherited from Element)
FindByName(String)

Returns the element that has the specified name.

(Inherited from Element)
GetValue(BindableProperty)

Returns the value that is contained in the given bindable property.

(Inherited from BindableObject)
InsertLogicalChild(Int32, Element)

Inserts an Element to the logical children at the specified index.

(Inherited from Element)
IsSet(BindableProperty)

Determines whether or not a bindable property exists and has a value set.

(Inherited from BindableObject)
On<T>()

Returns the platform-specific instance of this TElement, on which a platform-specific method may be called.

OnAppLinkRequestReceived(Uri)
OnBindingContextChanged()

Invoked whenever the binding context of the element changes. Implement this method to add class handling for this event.

(Inherited from Element)
OnChildAdded(Element)

Raises the ChildAdded event. Implement this method to add class handling for this event.

(Inherited from Element)
OnChildRemoved(Element, Int32)

Raises the ChildRemoved event. Implement this method to add class handling for this event

(Inherited from Element)
OnHandlerChanged()

When overridden in a derived class, should raise the HandlerChanged event.

(Inherited from Element)
OnHandlerChanging(HandlerChangingEventArgs)

When overridden in a derived class, should raise the HandlerChanging event.

(Inherited from Element)
OnParentChanged()

When overridden in a derived class, should raise the ParentChanged event.

(Inherited from Element)
OnParentChanging(ParentChangingEventArgs)

When overridden in a derived class, should raise the ParentChanging event.

(Inherited from Element)
OnParentSet()
OnPropertyChanged(String)

Method that is called when a bound property is changed.

(Inherited from Element)
OnPropertyChanging(String)

Raises the PropertyChanging event.

(Inherited from BindableObject)
OnResume()
OnSleep()
OnStart()
OpenWindow(Window)
Quit()

Quits the application.

RemoveBinding(BindableProperty)

Removes a previously set binding from a bindable property.

(Inherited from BindableObject)
RemoveDynamicResource(BindableProperty)

Removes a previously set dynamic resource.

(Inherited from Element)
RemoveLogicalChild(Element)

Removes the first occurrence of a specific Element from the logical children.

(Inherited from Element)
SavePropertiesAsync()
Obsolete.

Asynchronously persists the Properties dictionary for the application object.

SendOnAppLinkRequestReceived(Uri)

For internal use by the Microsoft.Maui.Controls platform.

SetAppIndexingProvider(IAppIndexingProvider)

For internal use by the Microsoft.Maui.Controls platform.

SetBinding(BindableProperty, BindingBase)

Assigns a binding to a bindable property.

(Inherited from BindableObject)
SetCurrentApplication(Application)

For internal use by the Microsoft.Maui.Controls platform.

SetDynamicResource(BindableProperty, String)

Sets the BindableProperty property of this element to be updated via the DynamicResource with the provided key.

(Inherited from Element)
SetValue(BindableProperty, Object)

Sets the value of the specified bindable property.

(Inherited from BindableObject)
SetValue(BindablePropertyKey, Object)

Sets the value of the specified bindable property.

(Inherited from BindableObject)
SetValueCore(BindableProperty, Object, SetValueFlags)

For internal use by the Microsoft.Maui.Controls platform.

(Inherited from BindableObject)
SetValueFromRenderer(BindableProperty, Object)

For internal use by .NET MAUI.

(Inherited from Element)
SetValueFromRenderer(BindablePropertyKey, Object)

For internal use by .NET MAUI.

(Inherited from Element)
UnapplyBindings()

Removes all current bindings from the current context.

(Inherited from BindableObject)

Events

BindingContextChanged

Occurs when the value of the BindingContext property changes.

(Inherited from BindableObject)
ChildAdded

Raised whenever a child element is added to the element.

(Inherited from Element)
ChildRemoved

Raised whenever a child element is removed from the element.

(Inherited from Element)
DescendantAdded

Raised whenever a child element is added to the element's subtree.

(Inherited from Element)
DescendantRemoved

Raised whenever a child element is removed from the elements subtree.

(Inherited from Element)
HandlerChanged

Raised whenever the element's handler has changed.

(Inherited from Element)
HandlerChanging

Raised whenever the element's handler starts to change.

(Inherited from Element)
ModalPopped
ModalPopping
ModalPushed
ModalPushing
PageAppearing
PageDisappearing
ParentChanged

Raised whenever the element's parent has changed.

(Inherited from Element)
ParentChanging

Raised whenever the element's starts to change.

(Inherited from Element)
PropertyChanged

Occurs when a property value changes.

(Inherited from BindableObject)
PropertyChanging

Occurs when a property value is changing.

(Inherited from BindableObject)
RequestedThemeChanged

Explicit Interface Implementations

IApplication.CloseWindow(IWindow)
IApplication.CreateWindow(IActivationState)
IApplication.OpenWindow(IWindow)
IApplication.ThemeChanged()
IApplication.Windows
IContextFlyoutElement.ContextFlyout

Gets the ContextFlyout for the view. Menu flyouts, menu flyout subitems, and menu flyout separators can be added to the context flyout.

(Inherited from Element)
IDynamicResourceHandler.SetDynamicResource(BindableProperty, String) (Inherited from BindableObject)
IEffectControlProvider.RegisterEffect(Effect) (Inherited from Element)
IElement.Parent

Gets the Parent of the Element.

(Inherited from Element)
IElementController.Descendants()

For internal use by .NET MAUI.

(Inherited from Element)
IElementController.LogicalChildren

For internal use by .NET MAUI.

(Inherited from Element)
IElementController.SetValueFromRenderer(BindableProperty, Object)

For internal use by .NET MAUI.

(Inherited from Element)
INameScope.RegisterName(String, Object)

For internal use by .NET MAUI.

(Inherited from Element)
INameScope.UnregisterName(String)

For internal use by .NET MAUI.

(Inherited from Element)
IToolTipElement.ToolTip

Represents a small rectangular pop-up window that displays a brief description of a view's purpose when the user rests the pointer on the view.

(Inherited from Element)
IVisualTreeElement.GetVisualChildren()
IVisualTreeElement.GetVisualParent()

Gets the element's visual parent.

(Inherited from Element)

Extension Methods

GetPropertyIfSet<T>(BindableObject, BindableProperty, T)
SetAppTheme<T>(BindableObject, BindableProperty, T, T)
SetAppThemeColor(BindableObject, BindableProperty, Color, Color)
SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String)

Creates and applies a binding to a property.

FindByName<T>(Element, String)
ToHandler(IElement, IMauiContext)
ToPlatform(IElement, IMauiContext)
GetVisualElementWindow(IVisualTreeElement)

Gets the Window containing the Visual Tree Element, if the element is contained within one.

GetVisualTreeDescendants(IVisualTreeElement)

Gets the entire hierarchy of descendants as a list of children for a given Visual Tree Element.

GetVisualTreeElements(IVisualTreeElement, Point)

Gets list of a Visual Tree Element's children based off of a given Point.

GetVisualTreeElements(IVisualTreeElement, Rect)

Gets list of a Visual Tree Elements children based off of a rectangle.

GetVisualTreeElements(IVisualTreeElement, Double, Double)

Gets list of a Visual Tree Elements children based off of a given x, y point.

GetVisualTreeElements(IVisualTreeElement, Double, Double, Double, Double)

Gets list of a Visual Tree Elements children based off of a rectangle defined by its coordinates which are specified in platform units, not pixels.

Applies to