Skip to main content

Layoutable Class

Definition

Namespace:Avalonia.Layout
Assembly:Avalonia.Base
Package:Avalonia

Implements layout-related functionality for a control.

public class Layoutable

Inheritance: object -> AvaloniaObject -> Animatable -> StyledElement -> Visual -> Layoutable

Derived types:Interactive

Constructors

NameDescription
LayoutableNo summary available.

Layoutable Constructor

public Layoutable()

Methods

NameDescription
ApplyTemplateCreates the visual children of the control, if necessary
ArrangeArranges the control and its children.
InvalidateArrangeInvalidates the arrangement of the control and queues a new layout pass.
InvalidateMeasureInvalidates the measurement of the control and queues a new layout pass.
MeasureCarries out a measure of the control.
UpdateLayoutExecutes a layout pass.
GetFlowDirectionGets the value of the attached Avalonia.Visual.FlowDirectionProperty on a control. Inherited from Visual.
InvalidateVisualInvalidates the visual and queues a repaint. Inherited from Visual.
RenderRenders the visual to a Avalonia.Media.DrawingContext. Inherited from Visual.
SetFlowDirectionSets the value of the attached Avalonia.Visual.FlowDirectionProperty on a control. Inherited from Visual.
ApplyStylingApplies styling to the control if the control is initialized and styling is not already applied. Inherited from StyledElement.
BeginInitInherited from StyledElement.
EndInitInherited from StyledElement.
TryGetResourceInherited from StyledElement.
Bind (8 overloads)Binds a Avalonia.AvaloniaProperty to an Avalonia.Data.BindingBase. Inherited from AvaloniaObject.
CheckAccessReturns a value indicating whether the current thread is the UI thread. Inherited from AvaloniaObject.
ClearValue (4 overloads)Clears a Avalonia.AvaloniaProperty's local value. Inherited from AvaloniaObject.
CoerceValueCoerces the specified Avalonia.AvaloniaProperty. Inherited from AvaloniaObject.
EqualsCompares two objects using reference equality. Inherited from AvaloniaObject.
GetBaseValueInherited from AvaloniaObject.
GetHashCodeGets the hash code for the object. Inherited from AvaloniaObject.
GetValue (3 overloads)Gets a Avalonia.AvaloniaProperty value. Inherited from AvaloniaObject.
IsAnimatingChecks whether a Avalonia.AvaloniaProperty is animating. Inherited from AvaloniaObject.
IsSetChecks whether a Avalonia.AvaloniaProperty is set on this object. Inherited from AvaloniaObject.
SetCurrentValue (2 overloads)Sets the value of a dependency property without changing its value source. Inherited from AvaloniaObject.
SetValue (3 overloads)Sets a Avalonia.AvaloniaProperty value. Inherited from AvaloniaObject.
VerifyAccessChecks that the current thread is the UI thread and throws if not. Inherited from AvaloniaObject.

ApplyTemplate Method

Creates the visual children of the control, if necessary

public void ApplyTemplate()

Arrange Method

Arranges the control and its children.

public void Arrange(Avalonia.Rect rect)

Parameters

rect Avalonia.Rect

The control's new bounds.

InvalidateArrange Method

Invalidates the arrangement of the control and queues a new layout pass.

public void InvalidateArrange()

InvalidateMeasure Method

Invalidates the measurement of the control and queues a new layout pass.

public void InvalidateMeasure()

Measure Method

Carries out a measure of the control.

public void Measure(Avalonia.Size availableSize)

Parameters

availableSize Avalonia.Size

The available size for the control.

UpdateLayout Method

Executes a layout pass.

public void UpdateLayout()

Remarks

You should not usually need to call this method explictly, the layout manager will schedule layout passes itself.

Properties

NameDescription
DesiredSizeGets the size that this element computed during the measure pass of the layout process.
HeightGets or sets the height of the element.
HorizontalAlignmentGets or sets the element's preferred horizontal alignment in its parent.
IsArrangeValidGets a value indicating whether the control's layouts arrange is valid.
IsMeasureValidGets a value indicating whether the control's layout measure is valid.
MarginGets or sets the margin around the element.
MaxHeightGets or sets the maximum height of the element.
MaxWidthGets or sets the maximum width of the element.
MinHeightGets or sets the minimum height of the element.
MinWidthGets or sets the minimum width of the element.
UseLayoutRoundingGets or sets a value that determines whether the element should be snapped to pixel boundaries at layout time.
VerticalAlignmentGets or sets the element's preferred vertical alignment in its parent.
WidthGets or sets the width of the element.
BoundsGets the bounds of the control relative to its parent. Inherited from Visual.
CacheModeGets or sets the cache mode of the visual. Inherited from Visual.
ClipGets or sets the geometry clip for this visual. Inherited from Visual.
ClipToBoundsGets or sets a value indicating whether the control should be clipped to its bounds. Inherited from Visual.
EffectGets or sets the effect of the control. Inherited from Visual.
FlowDirectionGets or sets the text flow direction. Inherited from Visual.
HasMirrorTransformGets or sets a value indicating whether to apply mirror transform on this control. Inherited from Visual.
IsEffectivelyVisibleGets a value indicating whether this control and all its parents are visible. Inherited from Visual.
IsVisibleGets or sets a value indicating whether this control is visible. Inherited from Visual.
OpacityGets or sets the opacity of the control. Inherited from Visual.
OpacityMaskGets or sets the opacity mask of the control. Inherited from Visual.
RenderTransformGets or sets the render transform of the control. Inherited from Visual.
RenderTransformOriginGets or sets the transform origin of the control. Inherited from Visual.
ZIndexGets or sets the Z index of the control. Inherited from Visual.
ActualThemeVariantGets the UI theme that is currently used by the element, which might be different than the RequestedThemeVariantProperty. Inherited from StyledElement.
ClassesGets or sets the styled element's classes. Inherited from StyledElement.
DataContextGets or sets the control's data context. Inherited from StyledElement.
IsInitializedGets a value that indicates whether the element has finished initialization. Inherited from StyledElement.
NameGets or sets the name of the styled element. Inherited from StyledElement.
ParentGets the styled element's logical parent. Inherited from StyledElement.
ResourcesGets or sets the styled element's resource dictionary. Inherited from StyledElement.
StyleKeyGets the type by which the element is styled. Inherited from StyledElement.
StylesGets the styles for the styled element. Inherited from StyledElement.
TemplatedParentGets the styled element whose lookless template this styled element is part of. Inherited from StyledElement.
ThemeGets or sets the theme to be applied to the element. Inherited from StyledElement.
TransitionsGets or sets the property transitions for the control. Inherited from Animatable.
DispatcherReturns the Avalonia.AvaloniaObject.Dispatcher that this Avalonia.AvaloniaObject is associated with. Inherited from AvaloniaObject.
ItemInherited from AvaloniaObject.

DesiredSize Property

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

public Avalonia.Size DesiredSize { get; set; }

Height Property

Gets or sets the height of the element.

public double Height { get; set; }

HorizontalAlignment Property

Gets or sets the element's preferred horizontal alignment in its parent.

public Avalonia.Layout.HorizontalAlignment HorizontalAlignment { get; set; }

IsArrangeValid Property

Gets a value indicating whether the control's layouts arrange is valid.

public bool IsArrangeValid { get; set; }

IsMeasureValid Property

Gets a value indicating whether the control's layout measure is valid.

public bool IsMeasureValid { get; set; }

Margin Property

Gets or sets the margin around the element.

public Avalonia.Thickness Margin { get; set; }

MaxHeight Property

Gets or sets the maximum height of the element.

public double MaxHeight { get; set; }

MaxWidth Property

Gets or sets the maximum width of the element.

public double MaxWidth { get; set; }

MinHeight Property

Gets or sets the minimum height of the element.

public double MinHeight { get; set; }

MinWidth Property

Gets or sets the minimum width of the element.

public double MinWidth { get; set; }

UseLayoutRounding Property

Gets or sets a value that determines whether the element should be snapped to pixel boundaries at layout time.

public bool UseLayoutRounding { get; set; }

VerticalAlignment Property

Gets or sets the element's preferred vertical alignment in its parent.

public Avalonia.Layout.VerticalAlignment VerticalAlignment { get; set; }

Width Property

Gets or sets the width of the element.

public double Width { get; set; }

Fields

NameDescription
DesiredSizePropertyDefines the Avalonia.Layout.Layoutable.DesiredSize property.
HeightPropertyDefines the Avalonia.Layout.Layoutable.Height property.
HorizontalAlignmentPropertyDefines the Avalonia.Layout.Layoutable.HorizontalAlignment property.
MarginPropertyDefines the Avalonia.Layout.Layoutable.Margin property.
MaxHeightPropertyDefines the Avalonia.Layout.Layoutable.MaxHeight property.
MaxWidthPropertyDefines the Avalonia.Layout.Layoutable.MaxWidth property.
MinHeightPropertyDefines the Avalonia.Layout.Layoutable.MinHeight property.
MinWidthPropertyDefines the Avalonia.Layout.Layoutable.MinWidth property.
UseLayoutRoundingPropertyDefines the Avalonia.Layout.Layoutable.UseLayoutRounding property.
VerticalAlignmentPropertyDefines the Avalonia.Layout.Layoutable.VerticalAlignment property.
WidthPropertyDefines the Avalonia.Layout.Layoutable.Width property.
BoundsPropertyDefines the Avalonia.Visual.Bounds property. Inherited from Visual.
CacheModePropertyDefines the Avalonia.Visual.CacheMode property. Inherited from Visual.
ClipPropertyDefines the Avalonia.Visual.Clip property. Inherited from Visual.
ClipToBoundsPropertyDefines the Avalonia.Visual.ClipToBounds property. Inherited from Visual.
EffectPropertyDefines the Avalonia.Visual.Effect property. Inherited from Visual.
FlowDirectionPropertyDefines the Avalonia.Visual.FlowDirection property. Inherited from Visual.
HasMirrorTransformPropertyDefines the Avalonia.Visual.HasMirrorTransform property. Inherited from Visual.
IsVisiblePropertyDefines the Avalonia.Visual.IsVisible property. Inherited from Visual.
OpacityMaskPropertyDefines the Avalonia.Visual.OpacityMask property. Inherited from Visual.
OpacityPropertyDefines the Avalonia.Visual.Opacity property. Inherited from Visual.
RenderTransformOriginPropertyDefines the Avalonia.Visual.RenderTransformOrigin property. Inherited from Visual.
RenderTransformPropertyDefines the Avalonia.Visual.RenderTransform property. Inherited from Visual.
VisualParentPropertyDefines the Avalonia.Visual.VisualParent property. Inherited from Visual.
ZIndexPropertyDefines the Avalonia.Visual.ZIndex property. Inherited from Visual.
DataContextPropertyDefines the Avalonia.StyledElement.DataContext property. Inherited from StyledElement.
NamePropertyDefines the Avalonia.StyledElement.Name property. Inherited from StyledElement.
ParentPropertyDefines the Avalonia.StyledElement.Parent property. Inherited from StyledElement.
TemplatedParentPropertyDefines the Avalonia.StyledElement.TemplatedParent property. Inherited from StyledElement.
ThemePropertyDefines the Avalonia.StyledElement.Theme property. Inherited from StyledElement.
TransitionsPropertyDefines the Avalonia.Animation.Animatable.Transitions property. Inherited from Animatable.

DesiredSizeProperty Field

Defines the Avalonia.Layout.Layoutable.DesiredSize property.

public Avalonia.DirectProperty<TOwner,TValue><Avalonia.Layout.Layoutable, Avalonia.Size> DesiredSizeProperty

HeightProperty Field

Defines the Avalonia.Layout.Layoutable.Height property.

public Avalonia.StyledProperty<TValue><double> HeightProperty

HorizontalAlignmentProperty Field

Defines the Avalonia.Layout.Layoutable.HorizontalAlignment property.

public Avalonia.StyledProperty<TValue><Avalonia.Layout.HorizontalAlignment> HorizontalAlignmentProperty

MarginProperty Field

Defines the Avalonia.Layout.Layoutable.Margin property.

public Avalonia.StyledProperty<TValue><Avalonia.Thickness> MarginProperty

MaxHeightProperty Field

Defines the Avalonia.Layout.Layoutable.MaxHeight property.

public Avalonia.StyledProperty<TValue><double> MaxHeightProperty

MaxWidthProperty Field

Defines the Avalonia.Layout.Layoutable.MaxWidth property.

public Avalonia.StyledProperty<TValue><double> MaxWidthProperty

MinHeightProperty Field

Defines the Avalonia.Layout.Layoutable.MinHeight property.

public Avalonia.StyledProperty<TValue><double> MinHeightProperty

MinWidthProperty Field

Defines the Avalonia.Layout.Layoutable.MinWidth property.

public Avalonia.StyledProperty<TValue><double> MinWidthProperty

UseLayoutRoundingProperty Field

Defines the Avalonia.Layout.Layoutable.UseLayoutRounding property.

public Avalonia.StyledProperty<TValue><bool> UseLayoutRoundingProperty

VerticalAlignmentProperty Field

Defines the Avalonia.Layout.Layoutable.VerticalAlignment property.

public Avalonia.StyledProperty<TValue><Avalonia.Layout.VerticalAlignment> VerticalAlignmentProperty

WidthProperty Field

Defines the Avalonia.Layout.Layoutable.Width property.

public Avalonia.StyledProperty<TValue><double> WidthProperty

Events

NameDescription
EffectiveViewportChangedOccurs when the element's effective viewport changes.
LayoutUpdatedOccurs when a layout pass completes for the control.
AttachedToVisualTreeRaised when the control is attached to a rooted visual tree. Inherited from Visual.
DetachedFromVisualTreeRaised when the control is detached from a rooted visual tree. Inherited from Visual.
ActualThemeVariantChangedRaised when the theme variant is changed on the element or an ancestor of the element. Inherited from StyledElement.
AttachedToLogicalTreeRaised when the styled element is attached to a rooted logical tree. Inherited from StyledElement.
DataContextChangedOccurs when the Avalonia.StyledElement.DataContext property changes. Inherited from StyledElement.
DetachedFromLogicalTreeRaised when the styled element is detached from a rooted logical tree. Inherited from StyledElement.
InitializedOccurs when the styled element has finished initialization. Inherited from StyledElement.
ResourcesChangedOccurs when a resource in this styled element or a parent styled element has changed. Inherited from StyledElement.
PropertyChangedRaised when a Avalonia.AvaloniaProperty value changes on this object. Inherited from AvaloniaObject.

EffectiveViewportChanged Event

Occurs when the element's effective viewport changes.

public event EventHandler<Avalonia.Layout.EffectiveViewportChangedEventArgs> EffectiveViewportChanged

LayoutUpdated Event

Occurs when a layout pass completes for the control.

public event EventHandler LayoutUpdated