Button Class

Definition

A button View that reacts to touch events.

public ref class Button : Microsoft::Maui::Controls::View, Microsoft::Maui::Controls::IBorderElement, Microsoft::Maui::Controls::IButtonController, Microsoft::Maui::Controls::IElementConfiguration<Microsoft::Maui::Controls::Button ^>, Microsoft::Maui::Controls::IImageController, Microsoft::Maui::Controls::IImageElement, Microsoft::Maui::Controls::Internals::IFontElement, Microsoft::Maui::Controls::IPaddingElement, Microsoft::Maui::IImageButton, Microsoft::Maui::ITextButton
public class Button : Microsoft.Maui.Controls.View, Microsoft.Maui.Controls.IBorderElement, Microsoft.Maui.Controls.IButtonController, Microsoft.Maui.Controls.IElementConfiguration<Microsoft.Maui.Controls.Button>, Microsoft.Maui.Controls.IImageController, Microsoft.Maui.Controls.IImageElement, Microsoft.Maui.Controls.Internals.IFontElement, Microsoft.Maui.Controls.IPaddingElement, Microsoft.Maui.IImageButton, Microsoft.Maui.ITextButton
type Button = class
    inherit View
    interface IFontElement
    interface IBorderElement
    interface IButtonController
    interface IViewController
    interface IVisualElementController
    interface IElementController
    interface IElementConfiguration<Button>
    interface IPaddingElement
    interface IImageController
    interface IImageElement
    interface IButton
    interface IView
    interface IElement
    interface ITransform
    interface IPadding
    interface IButtonStroke
    interface ITextButton
    interface IText
    interface ITextStyle
    interface IImageButton
    interface IImage
    interface IImageSourcePart
Public Class Button
Inherits View
Implements IBorderElement, IButtonController, IElementConfiguration(Of Button), IFontElement, IImageButton, IImageController, IImageElement, IPaddingElement, ITextButton
Inheritance
Implements

Remarks

Button Appearance

In addition to the appearance properties common to all View objects, the Button class provides the BorderColor, BorderWidth, and ImageSource properties.

The XAML code snippet below demonstrates how to use these properties to create a basic button with the text "Press me!" The image that the button displays appears on the start side of the layout, which is the left side for left-to-right languages.

<Button Text="Press me!"
        Image="icon.png"
        BackgroundColor="White"
        BorderWidth="2"
        BorderColor="Black"
        HorizontalOptions="Center"/>

To display the icon.png image with the above XAML, the developer must place it in the appropriate location, with the appropriate build action, specific to each platform project. The Images topic explains this and other important details about working with images in Microsoft.Maui.Controls.

Button Events

Buttons notify the developer of press, release, and click events with the Pressed, Released, and Clicked events, respectively.

The following XAML assigns handlers to two of these button events:

<Button x:Name="PressMeButton"
        Text="Press Me!"
        Pressed="PressMeButton_Pressed"
        Clicked="PressMeButton_Clicked"/>

With the XAML above, the following event handlers in the code-behind file change the button's text when these events are raised:

private void PressMeButton_Pressed(object sender, EventArgs e)
{
   (sender as Button).Text = "You pressed me!";
}

private void PressMeButton_Clicked(object sender, EventArgs e)
{
   (sender as Button).Text = "I was just clicked!";
}

Commands

The commanding API for buttons allows the developer to run a command in response to what would otherwise be the Clicked event.

The following XAML specifes a command to run when the button is clicked. The command updates a view model property called modelUpdateCount, which the button then uses to update its text. (The text binding is shown for completeness. Only the commanding code is relevant.):

<Button Text="{Binding modelUpdateCount, StringFormat='Number of updates to the model: {0:D}'}"
        Command="{Binding IncrementLabelCommand}" />

With the XAML above, the developer first defines the IncrementLabelCommand property on the view model and implements a method with which to later instantiate the command:

public ICommand IncrementLabelCommand { get; private set; }

void IncrementLabel()
{
   modelUpdateCount++;
}

Second, the developer initializes the command with the method (or action):

public ViewModelDemo()
{
   IncrementLabelCommand = new Command(IncrementLabel);
}

Finally, the developer must sets the binding context in the constructor for the main page to that of the view model where the property is implemented:

public MainPage()
{
    InitializeComponent();
    BindingContext = new ViewModelDemo();
}

Constructors

Button()

Initializes a new instance of the Button class.

Fields

BorderColorProperty

The backing store for the BorderColor bindable property.

BorderWidthProperty

The backing store for the BorderWidth bindable property.

CharacterSpacingProperty

The backing store for the CharacterSpacing bindable property.

CommandParameterProperty

The backing store for the CommandParameter bindable property.

CommandProperty

The backing store for the Command bindable property.

ContentLayoutProperty

The backing store for the ContentLayout bindable property.

ControlsButtonMapper
Obsolete.

The property mapper that maps the abstract properties to the platform-specific methods for further processing.

CornerRadiusProperty

The backing store for the CornerRadius bindable property.

FontAttributesProperty

The backing store for the FontAttributes bindable property.

FontAutoScalingEnabledProperty

The backing store for the FontAutoScalingEnabled bindable property.

FontFamilyProperty

The backing store for the FontFamily bindable property.

FontSizeProperty

The backing store for the FontSize bindable property.

ImageSourceProperty

The backing store for the ImageSource bindable property.

IsPressedProperty

The backing store for the IsPressed bindable property.

LineBreakModeProperty

The backing store for the LineBreakMode bindable property.

PaddingProperty

The backing store for the Padding bindable property.

propertyMapper

Represents the view's internal PropertyMapper.

(Inherited from View)
TextColorProperty

The backing store for the TextColor bindable property.

TextProperty

The backing store for the Text bindable property.

TextTransformProperty

The backing store for the TextTransform bindable property.

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)
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)
BorderColor

Gets or sets a color that describes the border stroke color of the button. This is a bindable property.

BorderWidth

Gets or sets the width of the border, in device-independent units. This is a bindable property.

Bounds

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

(Inherited from VisualElement)
CharacterSpacing

Gets or sets the spacing between each of the characters of Text when displayed on the button. This is a bindable property.

class (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)
Command

Gets or sets the command to invoke when the button is activated. This is a bindable property.

CommandParameter

Gets or sets the parameter to pass to the Command property. The default value is null. This is a bindable property.

ContentLayout

Gets or sets an object that controls the position of the button image and the spacing between the button's image and the button's text. This is a bindable property.

CornerRadius

Gets or sets the corner radius for the button, in device-independent units. This is a bindable property.

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)
FontAttributes

Gets or sets a value that indicates whether the font for the text of this button is bold, italic, or neither. This is a bindable property.

FontAutoScalingEnabled

Determines whether or not the font of this entry should scale automatically according to the operating system settings. Default value is true. This is a bindable property.

FontFamily

Gets or sets the font family for the text of this entry. This is a bindable property.

FontSize

Gets or sets the size of the font for the text of this entry. This is a bindable property.

Frame

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

(Inherited from VisualElement)
GestureController (Inherited from View)
GestureRecognizers

The collection of gesture recognizers associated with this view.

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

Gets or sets the LayoutOptions that define how the element gets laid out in a layout cycle. This is a bindable property.

(Inherited from View)
Id

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

(Inherited from Element)
ImageSource

Allows you to display a bitmap image on the Button. This is a bindable property.

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)
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
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)
IsPressed

Gets whether or not the button is currently pressed.

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)
LineBreakMode

Determines how Text is shown when the length is overflowing the size of this button. This is a bindable property.

LogicalChildren
Obsolete.

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

(Inherited from Element)
Margin

Gets or set the margin for the view.

(Inherited from View)
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)
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 (Inherited from NavigableElement)
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 padding for the button. This is a bindable property.

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 (Inherited from NavigableElement)
StyleClass (Inherited from NavigableElement)
StyleId

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

(Inherited from Element)
Text

Gets or sets the text displayed as the content of the button. The default value is null. This is a bindable property.

TextColor

Gets or sets the Color for the text of the button. This is a bindable property.

TextTransform

Applies text transformation to the Text displayed on this button. This is a bindable property.

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)
VerticalOptions

Gets or sets the LayoutOptions that define how the element gets laid out in a layout cycle. This is a bindable property.

(Inherited from View)
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 override Arrange(Rect) even though the interface has to be explicitly implemented to avoid conflict with the old Arrange(Rect) method.

(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()
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)
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)
GetChildElements(Point)

Gets the child elements that are visually beneath the specified point.

(Inherited from View)
GetRendererOverrides<T>() (Inherited from View)
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)
InvalidateMeasure()

Marks the current measure of an element as invalidated.

(Inherited from VisualElement)
InvalidateMeasureNonVirtual(InvalidationTrigger)

Invalidates the measure of an element.

(Inherited from VisualElement)
InvalidateMeasureOverride()

Provides a way to allow subclasses (e.g., Layout) to override InvalidateMeasure() even though the interface has to be explicitly implemented to avoid conflict with the InvalidateMeasure() method.

(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)
MapContentLayout(ButtonHandler, Button)

Maps the abstract ContentLayout property to the platform implementation.

MapContentLayout(IButtonHandler, Button)

Maps the abstract ContentLayout property to the platform implementation.

MapLineBreakMode(ButtonHandler, Button)

Maps the abstract LineBreakMode property to the platform implementation.

MapLineBreakMode(IButtonHandler, Button)
MapText(ButtonHandler, Button)

Maps the abstract Text property to the platform implementation.

MapText(IButtonHandler, Button)
Measure(Double, Double, MeasureFlags)

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

(Inherited from VisualElement)
MeasureOverride(Double, Double)

Provides a way to allow subclasses to override Measure(Double, Double, MeasureFlags) even though the interface has to be explicitly implemented to avoid conflict with the old Measure method.

(Inherited from VisualElement)
On<T>()

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

OnBindingContextChanged()
OnChildAdded(Element) (Inherited from VisualElement)
OnChildRemoved(Element, Int32) (Inherited from VisualElement)
OnChildrenReordered()

Raises the ChildrenReordered event.

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

Method that is called when a layout measurement happens.

(Inherited from VisualElement)
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() (Inherited from NavigableElement)
OnPropertyChanged(String)
OnPropertyChanging(String)

Raises the PropertyChanging event.

(Inherited from BindableObject)
OnSizeAllocated(Double, Double)

Method that is called when the size of the element is set during a layout cycle. Implement this method to add class handling for this event.

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

Internal method to trigger the Clicked event. Should not be called manually outside of .NET MAUI.

SendPressed()

Internal method to trigger the Pressed event. Should not be called manually outside of .NET MAUI.

SendReleased()

Internal method to trigger the Released event. Should not be called manually outside of .NET MAUI.

SetBinding(BindableProperty, BindingBase)

Assigns a binding to a bindable property.

(Inherited from BindableObject)
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)
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)
UpdateFormsText(String, TextTransform)

Applies the TextTransform to Text.

Events

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)
Clicked

Occurs when the button is clicked/tapped.

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)
FocusChangeRequested
Obsolete.
(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)
Loaded

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

(Inherited from VisualElement)
MeasureInvalidated

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

(Inherited from VisualElement)
ParentChanged

Raised whenever the element's parent has changed.

(Inherited from Element)
ParentChanging

Raised whenever the element's starts to change.

(Inherited from Element)
Pressed

Occurs when the button is pressed.

PropertyChanged

Occurs when a property value changes.

(Inherited from BindableObject)
PropertyChanging

Occurs when a property value is changing.

(Inherited from BindableObject)
Released

Occurs when the button is released.

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 main object tree.

(Inherited from VisualElement)

Explicit Interface Implementations

IBorderElement.BorderColorDefaultValue
IBorderElement.BorderWidthDefaultValue
IBorderElement.CornerRadiusDefaultValue
IBorderElement.IsBackgroundColorSet()
IBorderElement.IsBackgroundSet()
IBorderElement.IsBorderColorSet()
IBorderElement.IsBorderWidthSet()
IBorderElement.IsCornerRadiusSet()
IBorderElement.OnBorderColorPropertyChanged(Color, Color)
IButton.Clicked()
IButton.Pressed()
IButton.Released()
IButtonStroke.CornerRadius
IButtonStroke.StrokeColor
IButtonStroke.StrokeThickness
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.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)
IFontElement.FontSizeDefaultValueCreator()
IFontElement.OnFontAttributesChanged(FontAttributes, FontAttributes)
IFontElement.OnFontAutoScalingEnabledChanged(Boolean, Boolean)
IFontElement.OnFontFamilyChanged(String, String)
IFontElement.OnFontSizeChanged(Double, Double)
IGestureController.CompositeGestureRecognizers (Inherited from View)
IHotReloadableView.Reload() (Inherited from View)
IHotReloadableView.ReloadHandler (Inherited from View)
IHotReloadableView.TransferState(IView) (Inherited from View)
IImage.Aspect
IImage.IsOpaque
IImageController.GetLoadAsAnimation()
IImageController.SetIsLoading(Boolean)
IImageElement.Aspect
IImageElement.IsAnimationPlaying
IImageElement.IsLoading
IImageElement.IsOpaque
IImageElement.OnImageSourceSourceChanged(Object, EventArgs)
IImageElement.RaiseImageSourcePropertyChanged()
IImageElement.Source
IImageSourcePart.IsAnimationPlaying
IImageSourcePart.Source
IImageSourcePart.UpdateIsLoading(Boolean)
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)
IPaddingElement.PaddingDefaultValueCreator()
IPropertyMapperView.GetPropertyMapperOverrides() (Inherited from View)
IReplaceableView.ReplacedView (Inherited from View)
ITextStyle.Font
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 VisualElement)
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 View)
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 View)
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 View)
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.

ToFont(IFontElement, Nullable<Double>)
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.

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)
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