VisualElement Class

Definition

A Element that occupies an area on the screen, has a visual appearance, and can obtain touch input.

public class VisualElement : Xamarin.Forms.NavigableElement, Xamarin.Forms.IAnimatable, Xamarin.Forms.ITabStopElement, Xamarin.Forms.IVisualElementController
type VisualElement = class
    inherit NavigableElement
    interface IAnimatable
    interface IVisualElementController
    interface IElementController
    interface ITabStopElement
Inheritance
Derived
Implements

Remarks

The base class for most Xamarin.Forms on-screen elements. Provides most properties, events, and methods for presenting an item on screen.

Constructors

VisualElement()

Fields

AnchorXProperty

Identifies the AnchorX bindable property.

AnchorYProperty

Identifies the AnchorY bindable property.

BackgroundColorProperty

Identifies the BackgroundColor bindable property.

BackgroundProperty
BehaviorsProperty

Identifies the Behaviors bindable property.

ClipProperty
FlowDirectionProperty

Backing store for the FlowDirection property.

HeightProperty

Identifies the Height bindable property.

HeightRequestProperty

Backing store for the HeightRequest property.

InputTransparentProperty

Identifies the InputTransparent bindable property.

IsEnabledProperty

Identifies the IsEnabled bindable property.

IsFocusedProperty

Identifies the IsFocused bindable property.

IsFocusedPropertyKey

For internal use by the Xamarin.Forms platform.

IsTabStopProperty

The backing store for the IsTabStop field.

IsVisibleProperty

Identifies the IsVisible bindable property.

MinimumHeightRequestProperty

Backing store for the MinimumHeightRequest property.

MinimumWidthRequestProperty

Backing store for the MinimumWidthRequest property.

NavigationProperty
OpacityProperty

Identifies the Opacity bindable property.

RotationProperty

Identifies the Rotation bindable property.

RotationXProperty

Identifies the RotationX bindable property.

RotationYProperty

Identifies the RotationY bindable property.

ScaleProperty

Identifies the Scale bindable property.

ScaleXProperty

Backing store for the ScaleX property.

ScaleYProperty

Backing store for the ScaleY property.

StyleProperty
TabIndexProperty

The backing store for the TabIndex field.

TranslationXProperty

Identifies the TranslationX bindable property.

TranslationYProperty

Identifies the TranslationY bindable property.

TriggersProperty

Identifies the Triggers bindable property.

VisualProperty

The backing store for the Visual field.

WidthProperty

Identifies the Width bindable property.

WidthRequestProperty

Backing store for the WidthRequest property.

XProperty

Identifies the X bindable property.

YProperty

Identifies the Y bindable property.

Properties

AnchorX

Gets or sets the X component of the center point for any transform, 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, 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
BackgroundColor

Gets or sets the color which will fill the background of a VisualElement. This is a bindable property.

Batched

For internal use by the Xamarin.Forms platform.

Behaviors

Gets the list of Behaviors associated to this element. This is a bindable property.

BindingContext

Gets or sets object that contains the properties that will be targeted by the bound properties that belong to this BindableObject.

(Inherited from BindableObject)
Bounds

Gets the bounds of the element.

class (Inherited from NavigableElement)
ClassId

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

(Inherited from Element)
Clip
DisableLayout

For internal use by the Xamarin.Forms platform.

Dispatcher (Inherited from BindableObject)
EffectControlProvider

For internal use by the Xamarin.Forms platform.

(Inherited from Element)
Effects

A list of the effects that are applied to this item.

(Inherited from Element)
FlowDirection

Gets or sets the layout flow direction.

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.

Id

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

(Inherited from Element)
InputTransparent

Gets or sets a value indicating whether this element should be involved in the user interaction cycle. 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.

IsFocused

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

IsInNativeLayout

For internal use by the Xamarin.Forms platform.

IsNativeStateConsistent

For internal use by the Xamarin.Forms platform.

IsPlatformEnabled

For internal use by the Xamarin.Forms platform.

IsTabStop

Gets or sets a value that indicates whether this element is included in tab navigation. This is a bindable property.

IsVisible

Gets or sets a value that determines whether this elements should be part of the visual tree or not. This is a bindable property.

LogicalChildren

For internal use by the Xamarin.Forms platform.

(Inherited from Element)
MinimumHeightRequest

Gets or sets a value which overrides the minimum height the element will request during layout.

MinimumWidthRequest

Gets or sets a value which overrides the minimum width the element will request during layout.

Navigation (Inherited from NavigableElement)
NavigationProxy (Inherited from NavigableElement)
Opacity

Gets or sets the opacity value applied to the element when it is rendered. This is a bindable property.

Parent

Gets or sets the parent element of the element.

(Inherited from Element)
ParentView
Obsolete.

Gets the element which is the closest ancestor of this element that is a VisualElement.

(Inherited from Element)
Platform
Obsolete.
(Inherited from Element)
RealParent

For internal use by the Xamarin.Forms platform.

(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.

RotationX

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

RotationY

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

Scale

Gets or sets the scale factor applied to the element.

ScaleX

Gets or sets a scale value to apply to the X direction.

ScaleY

Gets or sets a scale value to apply to the Y direction.

Style (Inherited from NavigableElement)
StyleClass (Inherited from NavigableElement)
StyleId

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

(Inherited from Element)
TabIndex
TranslationX

Gets or sets the X translation delta of the element.

TranslationY

Gets or sets the Y translation delta of the element.

Triggers

Gets the list of Trigger associated to this element. This is a bindable property.

Visual
Width

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

WidthRequest

Gets or sets the desired width override of this element.

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.

Methods

ApplyBindings()

Apply the bindings to BindingContext.

(Inherited from BindableObject)
BatchBegin()

Signals the start of a batch of changes to the elements properties.

BatchCommit()

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

ChangeVisualState()

For internal use by the Xamarin.Forms platform.

ClearValue(BindableProperty)

Clears any value set by SetValue for property.

(Inherited from BindableObject)
ClearValue(BindablePropertyKey)

Clears any value set by SetValue for the property that is identified by propertyKey.

(Inherited from BindableObject)
CoerceValue(BindableProperty) (Inherited from BindableObject)
CoerceValue(BindablePropertyKey) (Inherited from BindableObject)
Descendants()

For internal use by the Xamarin.Forms platform.

(Inherited from Element)
EffectIsAttached(String)

For internal use by the Xamarin.Forms platform.

(Inherited from Element)
FindByName(String)

Returns the element that has the specified name.

(Inherited from Element)
Focus()

Attemps to set focus to this element.

GetSizeRequest(Double, Double)
Obsolete.

Returns the SizeRequest of the element. Calling this method begins the measure pass of a layout cycle.

GetValue(BindableProperty)

Returns the value that is contained in the BindableProperty.

(Inherited from BindableObject)
GetValues(BindableProperty, BindableProperty)
Obsolete.

For internal use by the Xamarin.Forms platform.

(Inherited from BindableObject)
GetValues(BindableProperty, BindableProperty, BindableProperty)
Obsolete.

For internal use by the Xamarin.Forms platform.

(Inherited from BindableObject)
InvalidateMeasure()

Method that is called to invalidate the layout of this VisualElement. Raises the MeasureInvalidated event.

InvalidateMeasureNonVirtual(InvalidationTrigger)

For internal use by the Xamarin.Forms platform.

IsSet(BindableProperty)

Returns true if the target property exists and has been set.

(Inherited from BindableObject)
Layout(Rectangle)

Updates the bounds of the element during the layout cycle.

Measure(Double, Double, MeasureFlags)

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

NativeSizeChanged()

For internal use by the Xamarin.Forms platform.

OnBindingContextChanged()
OnChildAdded(Element)

Application developers can override this method to respond when a child is added.

OnChildRemoved(Element)
Obsolete.

Application developers can override this method to respond when a child is removed.

OnChildRemoved(Element, Int32)
OnChildrenReordered()

Invoked whenever the ChildrenReordered event is about to be emitted. Implement this method to add class handling for this event.

OnMeasure(Double, Double)

Method that is called when a layout measurement happens.

OnParentSet() (Inherited from NavigableElement)
OnPropertyChanged(String)

Method that is called when a bound property is changed.

(Inherited from Element)
OnPropertyChanging(String)

Call this method from a child class to notify that a change is going to happen on a property.

(Inherited from BindableObject)
OnSizeAllocated(Double, Double)

This method is called when the size of the element is set during a layout cycle. This method is called directly before the SizeChanged event is emitted. Implement this method to add class handling for this event.

OnSizeRequest(Double, Double)
Obsolete.

This method is called during the measure pass of a layout cycle to get the desired size of an element.

OnTabIndexPropertyChanged(Int32, Int32)
OnTabStopPropertyChanged(Boolean, Boolean)
RemoveBinding(BindableProperty)

Removes a previously set binding.

(Inherited from BindableObject)
RemoveDynamicResource(BindableProperty)

Removes a previously set dynamic resource

(Inherited from Element)
SetBinding(BindableProperty, BindingBase)

Assigns a binding to a 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 property.

(Inherited from BindableObject)
SetValue(BindablePropertyKey, Object)

Sets the value of the propertyKey.

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

For internal use by the Xamarin.Forms platform.

(Inherited from BindableObject)
SetValueFromRenderer(BindableProperty, Object)

For internal use by the Xamarin.Forms platform.

(Inherited from Element)
SetValueFromRenderer(BindablePropertyKey, Object)

For internal use by the Xamarin.Forms platform.

(Inherited from Element)
SizeAllocated(Double, Double)

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

TabIndexDefaultValueCreator()
TabStopDefaultValueCreator()
UnapplyBindings()

Unapplies all previously set bindings.

(Inherited from BindableObject)
Unfocus()

Unsets focus to this element.

Events

BatchCommitted

For internal use by the Xamarin.Forms platform.

BindingContextChanged

Raised whenever the BindingContext property changes.

(Inherited from BindableObject)
ChildAdded

Occurs whenever a child element is added to the element.

(Inherited from Element)
ChildRemoved

Occurs whenever a child element is removed from the element.

(Inherited from Element)
ChildrenReordered

Occurs when the Children of a VisualElement have been re-ordered.

DescendantAdded

Occurs whenever a child element is added to the elements subtree.

(Inherited from Element)
DescendantRemoved

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

(Inherited from Element)
FocusChangeRequested

For internal use by the Xamarin.Forms platform.

Focused

Occurs when the element receives focus.

MeasureInvalidated

Event that is raised when the layout of a visual element is invalidated.

PlatformSet
Obsolete.
(Inherited from Element)
PropertyChanged

Raised when a property has changed.

(Inherited from BindableObject)
PropertyChanging

Raised when a property is about to change.

(Inherited from BindableObject)
SizeChanged

Occurs when either the Width or the Height properties change value on this element.

Unfocused

Occurs when the element loses focus.

Explicit Interface Implementations

IDynamicResourceHandler.SetDynamicResource(BindableProperty, String)

For internal use by the Xamarin.Forms platform.

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

For internal use by the Xamarin.Forms platform.

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

For internal use only.

(Inherited from Element)
IVisualElementController.EffectiveFlowDirection

Gets the effective visual flow direction for the element on the platform, taking into account the locale and logical flow settings.

IVisualElementController.InvalidateMeasure(InvalidationTrigger)

This method is for internal use.

Extension Methods

AbortAnimation(IAnimatable, String)

Stops 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(IAnimatable, String, Animation, 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>)

Sets the specified parameters and starts the animation.

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

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)
SetAppThemeColor(BindableObject, BindableProperty, Color, Color)
SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String)

Creates and applies a binding to a property.

SetBinding<TSource>(BindableObject, BindableProperty, Expression<Func<TSource,Object>>, BindingMode, IValueConverter, String)
Obsolete.

Creates and applies a binding from an expression.

SetOnAppTheme<T>(BindableObject, BindableProperty, T, T)
FindByName<T>(Element, String)

Returns the instance of type T that has name name in the scope that includes element.

FindNextElement(ITabStopElement, Boolean, IDictionary<Int32,List<ITabStopElement>>, Int32)
GetSortedTabIndexesOnParentPage(VisualElement)
GetTabIndexesOnParentPage(ITabStopElement, Int32)
FadeTo(VisualElement, Double, UInt32, Easing)

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

LayoutTo(VisualElement, Rectangle, 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 performs the rotation that is described by the rotation, length, and easing parameters.

RotateXTo(VisualElement, Double, UInt32, Easing)

Returns a task that skews the Y axis by opacity, taking time length and using easing.

RotateYTo(VisualElement, Double, UInt32, Easing)

Returns a task that skews the X axis by opacity, 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)
ScaleYTo(VisualElement, Double, UInt32, Easing)
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.

Applies to