Share via


Shell Class

Definition

A Page that provides fundamental UI features that most applications require, leaving you to focus on the application's core workload.

public ref class Shell : Microsoft::Maui::Controls::Page, Microsoft::Maui::Controls::IPageContainer<Microsoft::Maui::Controls::Page ^>, Microsoft::Maui::Controls::IShellController, Microsoft::Maui::IFlyoutView
[Microsoft.Maui.Controls.ContentProperty("Items")]
public class Shell : Microsoft.Maui.Controls.Page, Microsoft.Maui.Controls.IPageContainer<Microsoft.Maui.Controls.Page>, Microsoft.Maui.Controls.IShellController, Microsoft.Maui.IFlyoutView
[<Microsoft.Maui.Controls.ContentProperty("Items")>]
type Shell = class
    inherit Page
    interface IShellController
    interface IPageController
    interface IVisualElementController
    interface IElementController
    interface IPageContainer<Page>
    interface IFlyoutView
    interface IView
    interface IElement
    interface ITransform
Public Class Shell
Inherits Page
Implements IFlyoutView, IPageContainer(Of Page), IShellController
Inheritance
Inheritance
Attributes
Implements

Constructors

Shell()

Creates a new Shell element with default values.

Fields

ActionSheetSignalName

The identifier used by the internal messaging system to display an action sheet.

(Inherited from Page)
AlertSignalName

The identifier used by the internal messaging system to display an alert dialog.

(Inherited from Page)
BackButtonBehaviorProperty

Controls the behavior of the page's back button.

BackgroundColorProperty

Defines the background color in the Shell chrome. The color won't fill in behind the Shell content.

BusySetSignalName

The identifier used by the internal messaging system to set IsBusy.

(Inherited from Page)
CurrentItemProperty

The currently selected ShellItem.

CurrentStateProperty

Bindable property for CurrentState.

DisabledColorProperty

Defines the color to shade text and icons that are disabled.

FlyoutBackdropProperty

The backdrop of the flyout, which is the appearance of the flyout overlay.

FlyoutBackgroundColorProperty

The background color of the Shell Flyout.

FlyoutBackgroundImageAspectProperty

The aspect ratio of the background image.

FlyoutBackgroundImageProperty

Sets the flyout background image, of type ImageSource, to a file, embedded resource, URI, or stream.

FlyoutBackgroundProperty

Bindable property for FlyoutBackground.

FlyoutBehaviorProperty

Manages the behavior used to open the flyout.

FlyoutContentProperty

Flyout items, which represent the flyout content.

FlyoutContentTemplateProperty

The flyout content can be defined by setting a DataTemplate. A flyout header can optionally be displayed above your flyout content, and a flyout footer can optionally be displayed below your flyout content.

FlyoutFooterProperty

The flyout footer appearance. The flyout footer is the content that optionally appears at the bottom of the flyout.

FlyoutFooterTemplateProperty

The flyout footer appearance can be defined by setting a DataTemplate.

FlyoutHeaderBehaviorProperty

Bindable property for FlyoutHeaderBehavior.

FlyoutHeaderProperty

The flyout header appearance. The flyout header is the content that optionally appears at the top of the flyout.

FlyoutHeaderTemplateProperty

The flyout header appearance can be defined by setting a DataTemplate.

FlyoutHeightProperty

The height of the flyout. This enables scenarios such as reducing the height of the flyout so that it doesn't obscure the tab bar.

FlyoutIconProperty

By default, Shell applications have a hamburger icon which, when pressed, opens the flyout. This icon can be changed by setting the FlyoutIcon property.

FlyoutIsPresentedProperty

The flyout can be programmatically opened and closed by setting the FlyoutIsPresented property to a boolean value that indicates whether the flyout is currently open.

FlyoutItemIsVisibleProperty

The FlyoutItem visibility. Flyout items are visible in the flyout by default.

FlyoutVerticalScrollModeProperty

Modifies the behavior of the flyout scroll. By default, a flyout can be scrolled vertically when the flyout items don't fit in the flyout.

FlyoutWidthProperty

The width of the flyout. This enables scenarios such as expanding the flyout across the entire screen.

ForegroundColorProperty

Defines the color to shade text and icons.

ItemsProperty

Bindable property for Items.

ItemTemplateProperty

The DataTemplate applied to each FlyoutItem object managed by Shell.

MenuItemTemplateProperty

Customizes the appearance of each MenuItem.

NavBarHasShadowProperty

Controls whether the navigation bar has a shadow.

NavBarIsVisibleProperty

Manages if the navigation bar is visible when a page is presented.

PresentationModeProperty

Defines the navigation animation that occurs when a page is navigated to with the GoToAsync(ShellNavigationState, Boolean) method. Also controls if the content is presented in a modal way or not.

PromptSignalName

The identifier used by the internal messaging system to display a prompt dialog.

(Inherited from Page)
SearchHandlerProperty

Controls the Shell search functionality.

TabBarBackgroundColorProperty

Defines the background color for the tab bar. If the property is unset, the BackgroundColorProperty value is used.

TabBarDisabledColorProperty

Defines the disabled color for the tab bar. If the property is unset, the DisabledColorProperty value is used.

TabBarForegroundColorProperty

Bindable property for attached property TabBarForegroundColor.

TabBarIsVisibleProperty

Manages the bottom tab bar visibility.

TabBarTitleColorProperty

Defines the title color for the tab bar. If the property is unset, the TitleColorProperty value will be used.

TabBarUnselectedColorProperty

Defines the unselected color for the tab bar. If the property is unset, the UnselectedColorProperty value is used.

TitleColorProperty

Defines the title color for the tab bar. If the property is unset, the TitleColorProperty value will be used.

TitleViewProperty

Enables any View to be displayed in the navigation bar.

transientNamescope (Inherited from Element)
UnselectedColorProperty

Defines the unselected color for the tab bar. If the property is unset, the UnselectedColorProperty value is used.

Properties

AnchorX

Gets or sets the X component of the center point for any transform operation, relative to the bounds of the element. This is a bindable property.

(Inherited from VisualElement)
AnchorY

Gets or sets the Y component of the center point for any transform operation, relative to the bounds of the element. This is a bindable property.

(Inherited from VisualElement)
AutomationId

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

(Inherited from Element)
Background

Gets or sets the Brush which will be used to fill the background of an element. This is a bindable property.

(Inherited from VisualElement)
BackgroundColor

Gets or sets the Color which will fill the background of an element. This is a bindable property.

(Inherited from VisualElement)
BackgroundImageSource

Gets or sets the ImageSource that will be used as the background for this page. This is a bindable property.

(Inherited from Page)
Batched

Gets a value that indicates there are batched changes done for this element.

(Inherited from VisualElement)
Behaviors

Gets the list of Behavior objects associated to this element. This is a read-only bindable property.

(Inherited from VisualElement)
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)
Bounds

Gets the bounds of the element in device-independent units.

(Inherited from VisualElement)
class

Gets or sets the style classes for the element.

(Inherited from NavigableElement)
ClassId

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

(Inherited from Element)
Clip

Specifies the clipping region for an element. This is a bindable property.

(Inherited from VisualElement)
ContainerArea

Gets or sets the area this page is contained in.

(Inherited from Page)
Current

Static property providing access to the current Shell.

CurrentItem

The currently selected ShellItem.

CurrentPage

The currently presented page.

CurrentState

The current navigation state of the Shell.

DesiredSize

Gets the size that this element computed during the measure pass of the layout process.

(Inherited from VisualElement)
DisableLayout

Gets a value that indicates that layout for this element is disabled.

(Inherited from VisualElement)
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)
FlowDirection

Gets or sets the layout flow direction. This is a bindable property.

(Inherited from VisualElement)
FlyoutBackdrop

Gets or sets the backdrop of the flyout, which is the appearance of the flyout overlay.

FlyoutBackground

Gets or sets the background color of the Shell Flyout.

FlyoutBackgroundColor

Gets or sets the background color of the flyout.

FlyoutBackgroundImage

Gets or sets the flyout background image. Of type ImageSource, could be a file, embedded resource, URI, or stream.

FlyoutBackgroundImageAspect

Gets or sets the aspect ratio of the background image.

FlyoutBehavior

Gets or sets the behavior to open the flyout.

FlyoutContent
FlyoutContentTemplate
FlyoutFooter

Gets or sets the View that define the appearance of the flyout footer. The flyout footer is the content that optionally appears at the bottom of the flyout.

FlyoutFooterTemplate

Gets or sets the flyout footer appearance using a DataTemplate.

FlyoutHeader

Gets or sets the View that define the appearance of the flyout header. The flyout header is the content that optionally appears at the top of the flyout.

FlyoutHeaderBehavior

Gets or sets the header behavior for the flyout.

FlyoutHeaderTemplate

Gets or sets the flyout header appearance using a DataTemplate.

FlyoutHeight

Gets or sets the height of the flyout.

FlyoutIcon

Gets or sets the icon that, when pressed, opens the flyout.

FlyoutIsPresented

Gets or sets the visible status of the flyout.

FlyoutItems
FlyoutVerticalScrollMode

Modifies the behavior of the flyout scroll.

FlyoutWidth

Gets or sets the width of the flyout.

Frame

Gets or sets the frame this element resides in on screen.

(Inherited from VisualElement)
Handler

Gets or sets the IViewHandler associated to this element.

(Inherited from VisualElement)
Height

Gets the current rendered height of this element. This is a read-only bindable property.

(Inherited from VisualElement)
HeightRequest

Gets or sets the desired height override of this element. This is a bindable property.

(Inherited from VisualElement)
IconImageSource

Gets or sets the ImageSource to be used for the icon associated to this page. This is a bindable property.

(Inherited from Page)
Id

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

(Inherited from Element)
IgnoresContainerArea

Gets or sets a value that determines whether to ignore the ContainerArea. This is a bindable property.

(Inherited from Page)
InputTransparent

Gets or sets a value indicating whether this element responds to hit testing during user interaction. This is a bindable property.

(Inherited from VisualElement)
InternalChildren

Gets the internal collection of child elements contained in this page.

(Inherited from Page)
IsBusy

Gets or sets the page busy state. This will cause the platform specific global activity indicator to show a busy state. This is a bindable property.

(Inherited from Page)
IsEnabled

Gets or sets a value indicating whether this element is enabled in the user interface. This is a bindable property.

(Inherited from VisualElement)
IsEnabledCore

This value represents the cumulative IsEnabled value. All types that override this property need to also invoke the RefreshIsEnabledProperty() method if the value will change.

(Inherited from VisualElement)
IsFocused

Gets a value indicating whether this element is focused currently. This is a bindable property.

(Inherited from VisualElement)
IsInPlatformLayout

Gets or sets a value that indicates that this element is currently going through the platform layout cycle.

(Inherited from VisualElement)
IsLoaded

Indicates if an element is connected to the main object tree.

(Inherited from VisualElement)
IsPlatformEnabled

Gets or sets a value that indicates whether this elements's platform equivalent element is enabled.

(Inherited from VisualElement)
IsPlatformStateConsistent

Gets or sets a value that indicates that this element is currently consistent with the platform equivalent element state.

(Inherited from VisualElement)
IsVisible

Gets or sets a value that determines whether this element will be visible on screen and take up space in layouts. This is a bindable property.

(Inherited from VisualElement)
Items

The collection of ShellItem objects managed by thisShell.

ItemTemplate

Gets or sets DataTemplate applied to each of the Items.

LogicalChildren
Obsolete.
(Inherited from Element)
MaximumHeightRequest

Gets or sets the maximum height the element will request during layout. This is a bindable property.

(Inherited from VisualElement)
MaximumWidthRequest

Gets or sets the maximum width the element will request during layout. This is a bindable property.

(Inherited from VisualElement)
MenuBarItems

Gets the MenuBarItem objects for this page, implemented in a platform-specific manner.

(Inherited from Page)
MenuItemTemplate

Gets or sets the DataTemplate applied to MenuItem objects in the MenuItems collection.

MinimumHeightRequest

Gets or sets the minimum height the element will request during layout. This is a bindable property.

(Inherited from VisualElement)
MinimumWidthRequest

Gets or sets the minimum width the element will request during layout. This is a bindable property.

(Inherited from VisualElement)
Navigation

Gets the object responsible for handling stack-based navigation.

(Inherited from NavigableElement)
NavigationProxy

Gets the cast of Navigation to a NavigationProxy.

(Inherited from NavigableElement)
Opacity

Gets or sets the opacity value applied to the element when it is rendered. The range of this value is 0 to 1; values outside this range will be set to the nearest valid value. This is a bindable property.

(Inherited from VisualElement)
Padding

Gets or sets the space between the content of the page and its border. This is a bindable property.

(Inherited from Page)
Parent

Gets or sets the parent Element of this element.

(Inherited from Element)
RealParent

For internal use by .NET MAUI.

(Inherited from Element)
Resources

Gets or sets the local resource dictionary.

(Inherited from VisualElement)
Rotation

Gets or sets the rotation (in degrees) about the Z-axis (affine rotation) when the element is rendered. This is a bindable property.

(Inherited from VisualElement)
RotationX

Gets or sets the rotation (in degrees) about the X-axis (perspective rotation) when the element is rendered. This is a bindable property.

(Inherited from VisualElement)
RotationY

Gets or sets the rotation (in degrees) about the Y-axis (perspective rotation) when the element is rendered. This is a bindable property.

(Inherited from VisualElement)
Scale

Gets or sets the scale factor applied to the element. This is a bindable property.

(Inherited from VisualElement)
ScaleX

Gets or sets a scale value to apply to the X direction. This is a bindable property.

(Inherited from VisualElement)
ScaleY

Gets or sets a scale value to apply to the Y direction. This is a bindable property.

(Inherited from VisualElement)
Shadow

Gets or sets the shadow effect cast by the element. This is a bindable property.

(Inherited from VisualElement)
Style

Gets or sets the unique Style for this element.

(Inherited from NavigableElement)
StyleClass

Gets or sets the style classes for the element.

(Inherited from NavigableElement)
StyleId

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

(Inherited from Element)
Title

Gets or sets the page's title.

(Inherited from Page)
ToolbarItems

Gets the ToolbarItem objects for this page, implemented in a platform-specific manner.

(Inherited from Page)
TranslationX

Gets or sets the X translation delta of the element. This is a bindable property.

(Inherited from VisualElement)
TranslationY

Gets or sets the Y translation delta of the element. This is a bindable property.

(Inherited from VisualElement)
Triggers

Gets the list of TriggerBase objects associated to this element. This is a read-only bindable property.

(Inherited from VisualElement)
Visual

Gets or sets a IVisual implementation that overrides the visual appearance of an element. This is a bindable property.

(Inherited from VisualElement)
Width

Gets the current width of this element. This is a read-only bindable property.

(Inherited from VisualElement)
WidthRequest

Gets or sets the desired width override of this element. This is a bindable property.

(Inherited from VisualElement)
Window

Gets the Window that is associated with an element. This is a read-only bindable property.

(Inherited from VisualElement)
X

Gets the current X position of this element. This is a read-only bindable property.

(Inherited from VisualElement)
Y

Gets the current Y position of this element. This is a read-only bindable property.

(Inherited from VisualElement)
ZIndex

Gets or sets the front-to-back z-index of an element within a layout. This is a bindable property.

(Inherited from VisualElement)

Methods

AddLogicalChild(Element)

Adds an Element to the logical children.

(Inherited from Element)
ApplyBindings()

Applies all the current bindings to BindingContext.

(Inherited from BindableObject)
Arrange(Rect)

Positions child objects and determines a size for an element.

(Inherited from VisualElement)
ArrangeOverride(Rect)

Allows subclasses to implement custom Arrange logic during a controls layout pass.

(Inherited from VisualElement)
BatchBegin()

Signals the start of a batch of changes to the elements properties. This can benefit performance if a bigger number of property values are changed.

(Inherited from VisualElement)
BatchCommit()

Signals the end of a batch of commands to the element and that those commands should now be committed.

(Inherited from VisualElement)
ChangeVisualState()

Changes the current visual state based on this elements current property values.

(Inherited from VisualElement)
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)
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)
DisplayActionSheet(String, String, String, FlowDirection, String[])

Displays a platform action sheet, allowing the application user to choose from several buttons.

(Inherited from Page)
DisplayActionSheet(String, String, String, String[])

Displays a platform action sheet, allowing the application user to choose from several buttons.

(Inherited from Page)
DisplayAlert(String, String, String, FlowDirection)

Displays an alert dialog to the application user with a single cancel button.

(Inherited from Page)
DisplayAlert(String, String, String, String, FlowDirection)

Displays an alert dialog to the application user with a single cancel button.

(Inherited from Page)
DisplayAlert(String, String, String, String)

Displays an alert dialog to the application user with a single cancel button.

(Inherited from Page)
DisplayAlert(String, String, String)

Displays an alert dialog to the application user with a single cancel button.

(Inherited from Page)
DisplayPromptAsync(String, String, String, String, String, Int32, Keyboard, String)

Displays a prompt dialog to the application user with the intent to capture a single string value.

(Inherited from Page)
EffectIsAttached(String)

For internal use by .NET MAUI.

(Inherited from Element)
FindByName(String)

Returns the element that has the specified name.

(Inherited from Element)
Focus()

Attempts to set focus to this element.

(Inherited from VisualElement)
ForceLayout()

Forces the page to perform a layout pass.

(Inherited from Page)
GetBackButtonBehavior(BindableObject)

Gets the value of the BackButtonBehaviorProperty of the obj.

GetBackgroundColor(BindableObject)

Gets the background color in the Shell chrome.

GetDisabledColor(BindableObject)

Gets the color to shade text and icons that are disabled.

GetFlyoutBackdrop(BindableObject)

Gets the color for unselected text and icons in the Shell chrome.

GetFlyoutBehavior(BindableObject)

Gets the behavior used to open the flyout when the given obj is presented.

GetFlyoutHeight(BindableObject)

Gets the height of the flyout when the given obj is active.

GetFlyoutItemIsVisible(BindableObject)
GetFlyoutWidth(BindableObject)

Gets the width of the flyout.

GetForegroundColor(BindableObject)

Gets the foreground color for the tab bar.

GetItemTemplate(BindableObject)

Gets the DataTemplate applied to each FlyoutItem object managed by Shell.

GetMenuItemTemplate(BindableObject)

Gets the DataTemplate applied to MenuItem objects in the MenuItems collection.

GetNavBarHasShadow(BindableObject)

Gets a value that represents if the navigation bar has a shadow when the given obj is active.

GetNavBarIsVisible(BindableObject)

Gets a value indicating if the navigation bar is visible when when the given obj is active.

GetParentWindow()

Retrieves the parent window that contains the page.

(Inherited from Page)
GetPresentationMode(BindableObject)

Gets the navigation animation that occurs when a page is navigated to with the GoToAsync(ShellNavigationState, Boolean) method.

GetSearchHandler(BindableObject)

Gets the integrated search functionality.

GetTabBarBackgroundColor(BindableObject)

Gets the background color for the tab bar.

GetTabBarDisabledColor(BindableObject)

Gets the background color for the tab bar.

GetTabBarForegroundColor(BindableObject)

Gets the color of the tab bar when its disabled.

GetTabBarIsVisible(BindableObject)

Gets the tabs visibility when the given obj is active.

GetTabBarTitleColor(BindableObject)

Gets the foreground color for the tab bar.

GetTabBarUnselectedColor(BindableObject)

Gets the title color for the tab bar.

GetTitleColor(BindableObject)

Gets the color used for the title of the current page.

GetTitleView(BindableObject)

Gets any View to be displayed in the navigation bar when the given obj is active.

GetUnselectedColor(BindableObject)

Gets the color for unselected text and icons in the Shell chrome.

GetValue(BindableProperty)

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

(Inherited from BindableObject)
GoToAsync(ShellNavigationState, Boolean, IDictionary<String,Object>)

Asynchronously navigates to state, optionally animating.

GoToAsync(ShellNavigationState, Boolean, ShellNavigationQueryParameters)

This method navigates to a ShellNavigationState and returns a Task.

GoToAsync(ShellNavigationState, Boolean)

Asynchronously navigates to state, optionally animating.

GoToAsync(ShellNavigationState, IDictionary<String,Object>)
GoToAsync(ShellNavigationState, ShellNavigationQueryParameters)

This method navigates to a ShellNavigationState and returns a Task that will complete once the navigation animation.

GoToAsync(ShellNavigationState)
InsertLogicalChild(Int32, Element)

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

(Inherited from Element)
InvalidateMeasure()

Marks the current measure of an element as invalidated.

(Inherited from VisualElement)
InvalidateMeasureNonVirtual(InvalidationTrigger)
Obsolete.

Invalidates the measure of an element.

(Inherited from VisualElement)
InvalidateMeasureOverride()

Provides a way to allow subclasses (e.g., Layout) to override InvalidateMeasure()

(Inherited from VisualElement)
IsSet(BindableProperty)

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

(Inherited from BindableObject)
Layout(Rect)

Updates the bounds of the element during the layout cycle.

(Inherited from VisualElement)
LayoutChildren(Double, Double, Double, Double)
Measure(Double, Double, MeasureFlags)
Obsolete.

Returns the minimum size that an element needs in order to be displayed on the device.

(Inherited from VisualElement)
Measure(Double, Double)

Returns the minimum size that an element needs in order to be displayed on the device. Margins are excluded from the measurement, but returned with the size. It is not recommended to call this method outside of the MeasureOverride pass on the parent element.

(Inherited from VisualElement)
MeasureOverride(Double, Double)

Allows subclasses to implement custom Measure logic during a controls measure pass.

(Inherited from VisualElement)
On<T>()

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

(Inherited from Page)
OnAppearing()

When overridden in a derived class, allows application developers to customize behavior immediately prior to the page becoming visible.

(Inherited from Page)
OnBackButtonPressed()
OnBindingContextChanged()
OnChildAdded(Element)

Invoked when a child object is added to this element.

(Inherited from VisualElement)
OnChildMeasureInvalidated(Object, EventArgs)

Indicates that the preferred size of a child Element has changed.

(Inherited from Page)
OnChildRemoved(Element, Int32)

Invoked when a child object is removed from this element.

(Inherited from VisualElement)
OnChildrenReordered()

Raises the ChildrenReordered event.

(Inherited from VisualElement)
OnDisappearing()

When overridden in a derived class, allows the application developer to customize behavior as the page disappears.

(Inherited from Page)
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)
OnMeasure(Double, Double)
Obsolete.

Method that is called when a layout measurement happens.

(Inherited from VisualElement)
OnNavigated(ShellNavigatedEventArgs)
OnNavigatedFrom(NavigatedFromEventArgs)

When overridden in a derived class, allows application developers to customize behavior immediately after the page was being navigated away from.

(Inherited from Page)
OnNavigatedTo(NavigatedToEventArgs)

When overridden in a derived class, allows application developers to customize behavior immediately after the page was navigated to.

(Inherited from Page)
OnNavigating(ShellNavigatingEventArgs)
OnNavigatingFrom(NavigatingFromEventArgs)

When overridden in a derived class, allows application developers to customize behavior immediately prior to the page being navigated away from.

(Inherited from Page)
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()

Called when the page's Parent property has changed.

(Inherited from Page)
OnPropertyChanged(String)
OnPropertyChanging(String)

Raises the PropertyChanging event.

(Inherited from BindableObject)
OnSizeAllocated(Double, Double)

Indicates that the page has been assigned a size.

(Inherited from Page)
PlatformSizeChanged()

Signals that the platform equivalent element for this element's size has changed and a new layout cycle might be needed.

(Inherited from VisualElement)
RefreshIsEnabledProperty()

This method must always be called if some event occurs and the value of the IsEnabledCore property will change.

(Inherited from VisualElement)
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)
SendAppearing()

Sends the signal to the page that it is about to visually appear on screen.

(Inherited from Page)
SendBackButtonPressed()

Calls OnBackButtonPressed().

(Inherited from Page)
SendDisappearing()

Sends the signal to the page that it is about to be visually hidden from the screen.

(Inherited from Page)
SetBackButtonBehavior(BindableObject, BackButtonBehavior)

Sets the back button behavior when the given obj is presented.

SetBackgroundColor(BindableObject, Color)

Sets the background color in the Shell chrome. The color won't fill in behind the Shell content.

SetBinding(BindableProperty, BindingBase)

Assigns a binding to a bindable property.

(Inherited from BindableObject)
SetDisabledColor(BindableObject, Color)

Sets the color to shade text and icons that are disabled.

SetDynamicResource(BindableProperty, String)

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

(Inherited from Element)
SetFlyoutBackdrop(BindableObject, Brush)

Sets the backdrop of the flyout, which is the appearance of the flyout overlay.

SetFlyoutBehavior(BindableObject, FlyoutBehavior)

Sets the behavior used to open the flyout when the given obj is presented.

SetFlyoutHeight(BindableObject, Double)

Sets the height of the flyout.

SetFlyoutItemIsVisible(BindableObject, Boolean)

Sets a value that determines if an object has a visible FlyoutItem in the flyout menu. Flyout items are visible in the flyout by default. However, an item can be hidden in the flyout with the FlyoutItemIsVisibleProperty.

SetFlyoutWidth(BindableObject, Double)

Sets the width of the flyout when the given obj is active. This enables scenarios such as expanding the flyout across the entire screen.

SetForegroundColor(BindableObject, Color)

Defines the foreground color for the tab bar. If the property is unset, the ForegroundColorProperty value is used.

SetItemTemplate(BindableObject, DataTemplate)

Sets the DataTemplate applied to each FlyoutItem object managed by Shell.

SetMenuItemTemplate(BindableObject, DataTemplate)

Sets the DataTemplate applied to MenuItem objects in the MenuItems collection. Shell provides the Text and IconImageSource properties to the BindingContext of the MenuItemTemplate.

SetNavBarHasShadow(BindableObject, Boolean)

Controls whether the navigation bar has a shadow when the given obj is active. By default the value of the property is true on Android, and false on other platforms.

SetNavBarIsVisible(BindableObject, Boolean)

Controls if the navigation bar is visible when the given obj is presented. By default the value of the property is true.

SetPresentationMode(BindableObject, PresentationMode)

Sets the navigation animation that plays when a Page is navigated to with the GoToAsync(ShellNavigationState, Boolean) method.

SetSearchHandler(BindableObject, SearchHandler)

Sets the handler responsible for implementing the integrated search functionality for when the given obj is active. Enabling this property results in a search box being added at the top of the page.

SetTabBarBackgroundColor(BindableObject, Color)

Sets the background color for the tab bar. If the property is unset, the BackgroundColor property value is used.

SetTabBarDisabledColor(BindableObject, Color)

Sets the disabled color for the tab bar. If the property is unset, the DisabledColorProperty value is used.

SetTabBarForegroundColor(BindableObject, Color)

Sets the foreground color for the tab bar. If the property is unset, the ForegroundColor property value is used.

SetTabBarIsVisible(BindableObject, Boolean)

Sets the tabs visibility when the given obj is active.

SetTabBarTitleColor(BindableObject, Color)

Sets the title color for the tab bar. If the property is unset, the TitleColorProperty value will be used.

SetTabBarUnselectedColor(BindableObject, Color)

Sets the unselected color for the tab bar. If the property is unset, the UnselectedColor property value is used.

SetTitleColor(BindableObject, Color)

Sets the color used for the title of the current page.

SetTitleView(BindableObject, View)

Sets any View to be displayed in the navigation bar when the given obj is active.

SetUnselectedColor(BindableObject, Color)

Sets the color for unselected text and icons in the Shell chrome.

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)
SetValueFromRenderer(BindableProperty, Object)

For internal use by .NET MAUI.

(Inherited from Element)
SetValueFromRenderer(BindablePropertyKey, Object)

For internal use by .NET MAUI.

(Inherited from Element)
SizeAllocated(Double, Double)

Method that is called during a layout cycle to signal the start of a sub-tree layout.

(Inherited from VisualElement)
UnapplyBindings()

Removes all current bindings from the current context.

(Inherited from BindableObject)
Unfocus()

Unsets keyboard focus on this element.

(Inherited from VisualElement)
UpdateChildrenLayout()
Obsolete.

Requests that the child Elements of the page update their layouts.

(Inherited from Page)

Events

Appearing

Raised when this page is visually appearing on screen.

(Inherited from Page)
BatchCommitted

Occurs when a batch of property changes have been committed by calling BatchCommit().

(Inherited from VisualElement)
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)
ChildrenReordered

Occurs when the order of this element's children changes.

(Inherited from VisualElement)
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)
Disappearing

Raised when this page is visually disappearing from the screen.

(Inherited from Page)
FocusChangeRequested
Obsolete.

Occurs when a focus change is requested.

(Inherited from VisualElement)
Focused

Occurs when this element is focused.

(Inherited from VisualElement)
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)
LayoutChanged

Raised when the children of this page, and thus potentially the layout, have changed.

(Inherited from Page)
Loaded

Occurs when an element has been constructed and added to the platform visual tree.

(Inherited from VisualElement)
MeasureInvalidated

Occurs when the current measure of an element has been invalidated.

(Inherited from VisualElement)
Navigated
NavigatedFrom

Raised after the page was navigated away from.

(Inherited from Page)
NavigatedTo

Raised after the page was navigated to.

(Inherited from Page)
Navigating
NavigatingFrom

Raised before navigating away from the page.

(Inherited from Page)
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)
SizeChanged

Occurs when the size of an element changed.

(Inherited from VisualElement)
Unfocused

Occurs when this element is unfocused.

(Inherited from VisualElement)
Unloaded

Occurs when an element is no longer connected to the platform visual tree.

(Inherited from VisualElement)

Explicit Interface Implementations

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)

Registers the specified effect to this element.

(Inherited from Element)
IElement.Handler

Gets or sets the View Handler of the Element.

(Inherited from VisualElement)
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)
IFlyoutView.Detail
IFlyoutView.Flyout
IFlyoutView.FlyoutBehavior
IFlyoutView.IsGestureEnabled
IFlyoutView.IsPresented
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)
IPaddingElement.OnPaddingPropertyChanged(Thickness, Thickness) (Inherited from Page)
IPaddingElement.PaddingDefaultValueCreator() (Inherited from Page)
ISafeAreaView.IgnoreSafeArea

Specifies how the View's content should be positioned in relation to obstructions. If this value is false, the content will be positioned only in the unobstructed portion of the screen. If this value is true, the content may be positioned anywhere on the screen. This includes the portion of the screen behind toolbars, screen cutouts, etc.

(Inherited from Page)
IShellController.AddAppearanceObserver(IAppearanceObserver, Element)
IShellController.AddFlyoutBehaviorObserver(IFlyoutBehaviorObserver)
IShellController.AppearanceChanged(Element, Boolean)
IShellController.FlyoutContent
IShellController.FlyoutFooter
IShellController.FlyoutHeader
IShellController.FlyoutItemsChanged
IShellController.GenerateFlyoutGrouping()
IShellController.GetFlyoutItemDataTemplate(BindableObject)
IShellController.GetItems()
IShellController.GetNavigationState(ShellItem, ShellSection, ShellContent, Boolean)
IShellController.ItemsCollectionChanged
IShellController.OnFlyoutItemSelected(Element)
IShellController.OnFlyoutItemSelectedAsync(Element)
IShellController.ProposeNavigation(ShellNavigationSource, ShellItem, ShellSection, ShellContent, IReadOnlyList<Page>, Boolean)
IShellController.RemoveAppearanceObserver(IAppearanceObserver)
IShellController.RemoveFlyoutBehaviorObserver(IFlyoutBehaviorObserver)
IShellController.StructureChanged
IShellController.UpdateCurrentState(ShellNavigationSource)
IToolbarElement.Toolbar (Inherited from Page)
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)
IView.Arrange(Rect)

Positions child elements and determines a size for an Element.

(Inherited from VisualElement)
IView.Background

Gets the paint which will fill the background of a View.

(Inherited from Page)
IView.Clip

Gets the Path used to define the outline of the contents of a View.

(Inherited from VisualElement)
IView.FlowDirection

Direction in which the UI elements are scanned by the eye

(Inherited from VisualElement)
IView.Height

Gets the specified height of the IView.

(Inherited from VisualElement)
IView.HorizontalLayoutAlignment

Determines the horizontal aspect of this element's arrangement in a container

(Inherited from VisualElement)
IView.InvalidateArrange()

Method that is called to invalidate the layout of this View.

(Inherited from VisualElement)
IView.InvalidateMeasure()

Signals that the current measure value of this View is no longer valid and must be recomputed during the next measure pass.

(Inherited from VisualElement)
IView.IsFocused

Gets a value indicating whether this View is focused currently.

(Inherited from VisualElement)
IView.Margin

The Margin represents the distance between an view and its adjacent views.

(Inherited from VisualElement)
IView.MaximumHeight

Gets the specified maximum height constraint of the IView, between zero and double.PositiveInfinity.

(Inherited from VisualElement)
IView.MaximumWidth

Gets the specified maximum width constraint of the IView, between zero and double.PositiveInfinity.

(Inherited from VisualElement)
IView.Measure(Double, Double)

Updates the size of an View.

(Inherited from VisualElement)
IView.MinimumHeight

Gets the specified minimum height constraint of the IView, between zero and double.PositiveInfinity.

(Inherited from VisualElement)
IView.MinimumWidth

Gets the specified minimum width constraint of the IView, between zero and double.PositiveInfinity.

(Inherited from VisualElement)
IView.Semantics

Adds semantics to every View for accessibility

(Inherited from VisualElement)
IView.Shadow

Paints a shadow around the target View.

(Inherited from VisualElement)
IView.VerticalLayoutAlignment

Determines the vertical aspect of this element's arrangement in a container

(Inherited from VisualElement)
IView.Visibility

Gets a value that determines whether this View should be part of the visual tree or not.

(Inherited from VisualElement)
IView.Width

Gets the specified width of the IView.

(Inherited from VisualElement)
IVisualElementController.EffectiveFlowDirection

For internal use by .NET MAUI.

(Inherited from VisualElement)
IVisualElementController.InvalidateMeasure(InvalidationTrigger)

For internal use by .NET MAUI.

(Inherited from VisualElement)
IVisualTreeElement.GetVisualChildren()

Gets a readonly list of the element's visual children.

(Inherited from Element)
IVisualTreeElement.GetVisualParent()

Gets the element's visual parent.

(Inherited from Element)

Extension Methods

AbortAnimation(IAnimatable, String)

Stops the animation.

Animate(IAnimatable, String, Animation, UInt32, UInt32, Easing, Action<Double,Boolean>, Func<Boolean>)

Sets the specified parameters and starts the animation.

Animate(IAnimatable, String, Action<Double>, Double, Double, UInt32, UInt32, Easing, Action<Double,Boolean>, Func<Boolean>)

Sets the specified parameters and starts the animation.

Animate(IAnimatable, String, Action<Double>, UInt32, UInt32, Easing, Action<Double,Boolean>, Func<Boolean>)

Sets the specified parameters and starts the animation.

Animate<T>(IAnimatable, String, Func<Double,T>, Action<T>, UInt32, UInt32, Easing, Action<T,Boolean>, Func<Boolean>, IAnimationManager)

Sets the specified parameters and starts the animation.

AnimateKinetic(IAnimatable, String, Func<Double,Double,Boolean>, Double, Double, Action, IAnimationManager)

Sets the specified parameters and starts the kinetic animation.

AnimationIsRunning(IAnimatable, String)

Returns a Boolean value that indicates whether or not the animation that is specified by handle is running.

Batch(IAnimatable)
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.

SetBinding<TSource,TProperty>(BindableObject, BindableProperty, Func<TSource,TProperty>, BindingMode, IValueConverter, Object, String, Object, Object, Object)

Creates a binding between a property on the source object and a property on the target object.

AncestorToRoot(Page)

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

FindByName<T>(Element, String)
CancelAnimations(VisualElement)

Aborts all animations (e.g. LayoutTo, TranslateTo, ScaleTo, etc.) on the view element.

FadeTo(VisualElement, Double, UInt32, Easing)

Returns a task that performs the fade that is described by the opacity, length, and easing parameters.

InvalidateMeasure(VisualElement)

Layout updates can be forced by app code rather than relying on the built-in layout system behavior. However, that is not generally recommended. Calling InvalidateArrange, InvalidateMeasure or UpdateLayout is usually unnecessary and can cause poor performance if overused. In many situations where app code might be changing layout properties, the layout system will probably already be processing updates asynchronously. The layout system also has optimizations for dealing with cascades of layout changes through parent-child relationships, and forcing layout with app code can work against such optimizations. Nevertheless, it's possible that layout situations exist in more complicated scenarios where forcing layout is the best option for resolving a timing issue or other issue with layout. Just use it deliberately and sparingly.

LayoutTo(VisualElement, Rect, UInt32, Easing) Returns a task that eases the bounds of the VisualElement that is specified by the view to the rectangle that is specified by the bounds parameter.
RelRotateTo(VisualElement, Double, UInt32, Easing)

Rotates the VisualElement that is specified by view from its current rotation by drotation.

RelScaleTo(VisualElement, Double, UInt32, Easing)

Returns a task that scales the VisualElement that is specified by view from its current scale to dscale.

RotateTo(VisualElement, Double, UInt32, Easing)

Returns a task that rotates the VisualElement that is specified by view that is described by the rotation, length, and easing parameters.

RotateXTo(VisualElement, Double, UInt32, Easing)

Returns a task that skews the X axis of the the VisualElement that is specified by view by rotation, taking time length and using easing.

RotateYTo(VisualElement, Double, UInt32, Easing)

Returns a task that skews the Y axis of the the VisualElement that is specified by view by rotation, taking time length and using easing.

ScaleTo(VisualElement, Double, UInt32, Easing)

Returns a task that scales the VisualElement that is specified by view to the absolute scale factor scale.

ScaleXTo(VisualElement, Double, UInt32, Easing)

Returns a task that scales the X axis of the the VisualElement that is specified by view to the absolute scale factor scale.

ScaleYTo(VisualElement, Double, UInt32, Easing)

Returns a task that scales the Y axis of the the VisualElement that is specified by view to the absolute scale factor scale.

TranslateTo(VisualElement, Double, Double, UInt32, Easing)

Animates an elements TranslationX and TranslationY properties from their current values to the new values. This ensures that the input layout is in the same position as the visual layout.

HasVisualStateGroups(VisualElement)

Returns true if element has one or more visual state groups associated with it. Otherwise, returns false.

CheckHandlers(IView)
ComputeDesiredSize(IView, Double, Double)
ComputeFrame(IView, Rect)
ToHandler(IElement, IMauiContext)
ToPlatform(IElement, IMauiContext)
ToHandler(IView, IMauiContext)
SetSemanticFocus(IView)
CaptureAsync(IView)
DisconnectHandlers(IView)
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, 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.

GetVisualTreeElements(IVisualTreeElement, Double, Double)

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

Applies to