VisualElement Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
An Element that occupies an area on the screen, has a visual appearance, and can obtain touch input.
public ref class VisualElement : Microsoft::Maui::Controls::NavigableElement, Microsoft::Maui::Controls::IAnimatable, Microsoft::Maui::Controls::IVisualElementController, Microsoft::Maui::IView
public class VisualElement : Microsoft.Maui.Controls.NavigableElement, Microsoft.Maui.Controls.IAnimatable, Microsoft.Maui.Controls.IVisualElementController, Microsoft.Maui.IView
type VisualElement = class
inherit NavigableElement
interface IAnimatable
interface IVisualElementController
interface IElementController
interface IView
interface IElement
interface ITransform
Public Class VisualElement
Inherits NavigableElement
Implements IAnimatable, IView, IVisualElementController
- Inheritance
- Inheritance
- Derived
- Implements
Remarks
The base class for most Microsoft.Maui.Controls on-screen elements. Provides most properties, events, and methods for presenting an item on screen.
Constructors
VisualElement() |
Initializes a new instance of the VisualElement class. |
Fields
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. |
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. |
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. |
BackgroundColor |
Gets or sets the Color which will fill the background of an element. This is a bindable property. |
Batched |
Gets a value that indicates there are batched changes done for this element. |
Behaviors |
Gets the list of Behavior objects associated to this element. This is a read-only bindable property. |
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. |
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. |
DesiredSize |
Gets the size that this element computed during the measure pass of the layout process. |
DisableLayout |
Gets a value that indicates that layout for this element is disabled. |
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. |
Frame |
Gets or sets the frame this element resides in on screen. |
Handler |
Gets or sets the IViewHandler associated to this element. |
Height |
Gets the current rendered height of this element. This is a read-only bindable property. |
HeightRequest |
Gets or sets the desired height override of this element. This is a bindable property. |
Id |
Gets a value that can be used to uniquely identify an element throughout the run of your application. (Inherited from Element) |
InputTransparent |
Gets or sets a value indicating whether this element responds to hit testing during user interaction. This is a bindable property. |
IsEnabled |
Gets or sets a value indicating whether this element is enabled in the user interface. This is a bindable property. |
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. |
IsFocused |
Gets a value indicating whether this element is focused currently. This is a bindable property. |
IsInPlatformLayout |
Gets or sets a value that indicates that this element is currently going through the platform layout cycle. |
IsLoaded |
Indicates if an element is connected to the main object tree. |
IsPlatformEnabled |
Gets or sets a value that indicates whether this elements's platform equivalent element is enabled. |
IsPlatformStateConsistent |
Gets or sets a value that indicates that this element is currently consistent with the platform equivalent element state. |
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. |
LogicalChildren |
Obsolete.
(Inherited from Element)
|
MaximumHeightRequest |
Gets or sets the maximum height the element will request during layout. This is a bindable property. |
MaximumWidthRequest |
Gets or sets the maximum width the element will request during layout. This is a bindable property. |
MinimumHeightRequest |
Gets or sets the minimum height the element will request during layout. This is a bindable property. |
MinimumWidthRequest |
Gets or sets the minimum width the element will request during layout. This is a bindable property. |
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. |
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. |
Rotation |
Gets or sets the rotation (in degrees) about the Z-axis (affine rotation) when the element is rendered. This is a bindable property. |
RotationX |
Gets or sets the rotation (in degrees) about the X-axis (perspective rotation) when the element is rendered. This is a bindable property. |
RotationY |
Gets or sets the rotation (in degrees) about the Y-axis (perspective rotation) when the element is rendered. This is a bindable property. |
Scale |
Gets or sets the scale factor applied to the element. This is a bindable property. |
ScaleX |
Gets or sets a scale value to apply to the X direction. This is a bindable property. |
ScaleY |
Gets or sets a scale value to apply to the Y direction. This is a bindable property. |
Shadow |
Gets or sets the shadow effect cast by the element. This is a bindable property. |
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) |
TranslationX |
Gets or sets the X translation delta of the element. This is a bindable property. |
TranslationY |
Gets or sets the Y translation delta of the element. This is a bindable property. |
Triggers |
Gets the list of TriggerBase objects associated to this element. This is a read-only bindable property. |
Visual |
Gets or sets a IVisual implementation that overrides the visual appearance of an element. This is a bindable property. |
Width |
Gets the current width of this element. This is a read-only bindable property. |
WidthRequest |
Gets or sets the desired width override of this element. This is a bindable property. |
Window |
Gets the Window that is associated with an element. This is a read-only bindable property. |
X |
Gets the current X position of this element. This is a read-only bindable property. |
Y |
Gets the current Y position of this element. This is a read-only bindable property. |
ZIndex |
Gets or sets the front-to-back z-index of an element within a layout. This is a bindable property. |
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. |
ArrangeOverride(Rect) |
Allows subclasses to implement custom Arrange logic during a controls layout pass. |
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. |
BatchCommit() |
Signals the end of a batch of commands to the element and that those commands should now be committed. |
ChangeVisualState() |
Changes the current visual state based on this elements current property values. |
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) |
Finalize() |
Frees all resources associated with the handle. |
FindByName(String) |
Returns the element that has the specified name. (Inherited from Element) |
Focus() |
Attempts to set focus to this 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) |
InvalidateMeasure() |
Marks the current measure of an element as invalidated. |
InvalidateMeasureNonVirtual(InvalidationTrigger) |
Obsolete.
Invalidates the measure of an element. |
InvalidateMeasureOverride() |
Provides a way to allow subclasses (e.g., Layout) to override InvalidateMeasure() |
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. |
MapBackgroundColor(IViewHandler, IView) | |
MapBackgroundImageSource(IViewHandler, IView) | |
Measure(Double, Double, MeasureFlags) |
Obsolete.
Returns the minimum size that an element needs in order to be displayed on the device. |
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(Double, Double) |
Allows subclasses to implement custom Measure logic during a controls measure pass. |
OnBindingContextChanged() |
Invoked when the binding context of this element has changed. |
OnChildAdded(Element) |
Invoked when a child object is added to this element. |
OnChildRemoved(Element, Int32) |
Invoked when a child object is removed from this element. |
OnChildrenReordered() |
Raises the ChildrenReordered event. |
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. |
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() |
Raises the (internal) |
OnPropertyChanged(String) |
Method that is called when a bound property is changed. (Inherited from Element) |
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. |
PlatformSizeChanged() |
Signals that the platform equivalent element for this element's size has changed and a new layout cycle might be needed. |
RefreshIsEnabledProperty() |
This method must always be called if some event occurs and the value of the IsEnabledCore property will change. |
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) |
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) |
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. |
UnapplyBindings() |
Removes all current bindings from the current context. (Inherited from BindableObject) |
Unfocus() |
Unsets keyboard focus on this element. |
Events
BatchCommitted |
Occurs when a batch of property changes have been committed by calling BatchCommit(). |
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. |
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.
Occurs when a focus change is requested. |
Focused |
Occurs when this element is focused. |
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 platform visual tree. |
MeasureInvalidated |
Occurs when the current measure of an element has been invalidated. |
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. |
Unfocused |
Occurs when this element is unfocused. |
Unloaded |
Occurs when an element is no longer connected to the platform visual tree. |
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 |
IElement.Handler |
Gets or sets the View Handler of the 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) |
IView.Arrange(Rect) |
Positions child elements and determines a size for an Element. |
IView.Background |
Gets the paint which will fill the background of a View. |
IView.Clip |
Gets the Path used to define the outline of the contents of a View. |
IView.FlowDirection |
Direction in which the UI elements are scanned by the eye |
IView.Height |
Gets the specified height of the IView. |
IView.HorizontalLayoutAlignment |
Determines the horizontal aspect of this element's arrangement in a container |
IView.InvalidateArrange() |
Method that is called to invalidate the layout of this View. |
IView.InvalidateMeasure() |
Signals that the current measure value of this View is no longer valid and must be recomputed during the next measure pass. |
IView.IsFocused |
Gets a value indicating whether this View is focused currently. |
IView.Margin |
The Margin represents the distance between an view and its adjacent views. |
IView.MaximumHeight |
Gets the specified maximum height constraint of the IView, between zero and double.PositiveInfinity. |
IView.MaximumWidth |
Gets the specified maximum width constraint of the IView, between zero and double.PositiveInfinity. |
IView.Measure(Double, Double) |
Updates the size of an View. |
IView.MinimumHeight |
Gets the specified minimum height constraint of the IView, between zero and double.PositiveInfinity. |
IView.MinimumWidth |
Gets the specified minimum width constraint of the IView, between zero and double.PositiveInfinity. |
IView.Semantics |
Adds semantics to every View for accessibility |
IView.Shadow |
Paints a shadow around the target View. |
IView.VerticalLayoutAlignment |
Determines the vertical aspect of this element's arrangement in a container |
IView.Visibility |
Gets a value that determines whether this View should be part of the visual tree or not. |
IView.Width |
Gets the specified width of the IView. |
IVisualElementController.EffectiveFlowDirection |
For internal use by .NET MAUI. |
IVisualElementController.InvalidateMeasure(InvalidationTrigger) |
For internal use by .NET MAUI. |
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 |
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. |
FindByName<T>(Element, String) | |
CancelAnimations(VisualElement) |
Aborts all animations (e.g. |
FadeTo(VisualElement, Double, UInt32, Easing) |
Returns a task that performs the fade that is described by the |
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) |
view
to the rectangle that is specified by the bounds parameter. |
RelRotateTo(VisualElement, Double, UInt32, Easing) |
Rotates the VisualElement that is specified by |
RelScaleTo(VisualElement, Double, UInt32, Easing) |
Returns a task that scales the VisualElement that is specified by |
RotateTo(VisualElement, Double, UInt32, Easing) |
Returns a task that rotates the VisualElement that is specified by |
RotateXTo(VisualElement, Double, UInt32, Easing) |
Returns a task that skews the X axis of the the VisualElement that is specified by |
RotateYTo(VisualElement, Double, UInt32, Easing) |
Returns a task that skews the Y axis of the the VisualElement that is specified by |
ScaleTo(VisualElement, Double, UInt32, Easing) |
Returns a task that scales the VisualElement that is specified by |
ScaleXTo(VisualElement, Double, UInt32, Easing) |
Returns a task that scales the X axis of the the VisualElement that is specified by |
ScaleYTo(VisualElement, Double, UInt32, Easing) |
Returns a task that scales the Y axis of the the VisualElement that is specified by |
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 |
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. |