Skip to content

Instantly share code, notes, and snippets.

@SilkyFowl
Last active May 14, 2024 09:19
Show Gist options
  • Save SilkyFowl/5029c929f6255a1b1108db37d56f0f9a to your computer and use it in GitHub Desktop.
Save SilkyFowl/5029c929f6255a1b1108db37d56f0f9a to your computer and use it in GitHub Desktop.
Avalonia and Avalonia.DataGrid v11.0.0 public API list for FuncUI bindings implementation.

Avalonia and Avalonia.DataGrid v11.0.0 public API list for FuncUI bindings implementation.

Object

Children: AvaloniaObject

namespace System

open System.Runtime.CompilerServices
open System.Runtime.InteropServices
open System.Runtime.Versioning

[<Serializable; NullableContext; ClassInterface; ComVisible; TypeForwardedFrom>]
type Object =

    // constructors
    [<NonVersionable>]
    new: () -> Object

    // static methods
    static member Equals: (objA:Object * objB:Object) -> Boolean
    [<NonVersionable>]
    static member ReferenceEquals: (objA:Object * objB:Object) -> Boolean

    // methods
    [<NullableContext; Intrinsic>]
    member GetType: () -> Type
    member ToString: () -> String
    member Equals: (obj:Object) -> Boolean
    member GetHashCode: () -> Int32

AvaloniaObject

base: Object

Children: Application, Animatable, Animation, KeyFrame, KeySpline, Transition<'T>, DataGridColumn, DefinitionBase, NativeMenu, NativeMenuItemBase, ProgressBarTemplateSettings, TrayIcon, FlyoutBase, SplitViewTemplateSettings, KeyBinding, Drawing, DrawingImage, ExperimentalAcrylicMaterial, Geometry, GradientStop, PathFigure, PathSegment, Pen, TextDecoration, CroppedBitmap, StyleBase, Styles

namespace Avalonia

open Avalonia.Data
open System
open System.Reflection
open System.Runtime.CompilerServices

[<NullableContext; Nullable; DefaultMember>]
type AvaloniaObject =

    // constructors
    new: () -> AvaloniaObject

    // events
    [<CLIEvent; Nullable>]
    member PropertyChanged: EventHandler<AvaloniaPropertyChangedEventArgs> // with add, remove

    // properties
    [<Nullable>]
    member Item: Object with get, set
    member Item: IBinding with get, set

    // methods
    member CheckAccess: () -> Boolean
    member VerifyAccess: () -> Void
    member ClearValue: (property:AvaloniaProperty) -> Void
    member ClearValue: (property:AvaloniaProperty<'T>) -> Void
    member ClearValue: (property:StyledProperty<'T>) -> Void
    member ClearValue: (property:DirectPropertyBase<'T>) -> Void
    [<NullableContext>]
    member Equals: (obj:Object) -> Boolean
    member GetHashCode: () -> Int32
    member GetValue: (property:AvaloniaProperty) -> Object
    member GetValue: (property:StyledProperty<'T>) -> 'T
    member GetValue: (property:DirectPropertyBase<'T>) -> 'T
    member GetBaseValue: (property:StyledProperty<'T>) -> Optional<'T>
    member IsAnimating: (property:AvaloniaProperty) -> Boolean
    member IsSet: (property:AvaloniaProperty) -> Boolean
    [<NullableContext>]
    member SetValue: (property:AvaloniaProperty * value:Object * priority:BindingPriority) -> IDisposable
    member SetValue: (property:StyledProperty<'T> * value:'T * priority:BindingPriority) -> IDisposable
    member SetValue: (property:DirectPropertyBase<'T> * value:'T) -> Void
    member SetCurrentValue: (property:AvaloniaProperty * value:Object) -> Void
    member SetCurrentValue: (property:StyledProperty<'T> * value:'T) -> Void
    member Bind: (property:AvaloniaProperty * source:IObservable<Object> * priority:BindingPriority) -> IDisposable
    member Bind: (property:StyledProperty<'T> * source:IObservable<Object> * priority:BindingPriority) -> IDisposable
    member Bind: (property:StyledProperty<'T> * source:IObservable<'T> * priority:BindingPriority) -> IDisposable
    member Bind: (property:StyledProperty<'T> * source:IObservable<BindingValue<'T>> * priority:BindingPriority) -> IDisposable
    member Bind: (property:DirectPropertyBase<'T> * source:IObservable<Object>) -> IDisposable
    member Bind: (property:DirectPropertyBase<'T> * source:IObservable<'T>) -> IDisposable
    member Bind: (property:DirectPropertyBase<'T> * source:IObservable<BindingValue<'T>>) -> IDisposable
    member CoerceValue: (property:AvaloniaProperty) -> Void

Application

base: AvaloniaObject <- Object

namespace Avalonia

open Avalonia.Controls
open Avalonia.Controls.ApplicationLifetimes
open Avalonia.Controls.Templates
open Avalonia.Platform
open Avalonia.Styling
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type Application =
    inherit AvaloniaObject

    // constructors
    new: () -> Application

    // static initonly fields
    [<Nullable>]
    val DataContextProperty: StyledProperty<Object> // static, C# readonly
    [<Nullable>]
    val ActualThemeVariantProperty: StyledProperty<ThemeVariant> // static, C# readonly
    [<Nullable>]
    val RequestedThemeVariantProperty: StyledProperty<ThemeVariant> // static, C# readonly
    [<Nullable>]
    val NameProperty: DirectProperty<Application, String> // static, C# readonly

    // static readonly properties
    static member Current: Application with get

    // events
    [<CLIEvent; Nullable>]
    member ResourcesChanged: EventHandler<ResourcesChangedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member UrlsOpened: EventHandler<UrlOpenedEventArgs> // with add, remove
    [<CLIEvent>]
    member ActualThemeVariantChanged: EventHandler // with add, remove

    // readonly properties
    [<Nullable>]
    member ActualThemeVariant: ThemeVariant with get
    [<Nullable>]
    member DataTemplates: DataTemplates with get
    [<Nullable>]
    member Styles: Styles with get
    member PlatformSettings: IPlatformSettings with get

    // properties
    member DataContext: Object with get, set
    member RequestedThemeVariant: ThemeVariant with get, set
    [<Nullable>]
    member Resources: IResourceDictionary with get, set
    member ApplicationLifetime: IApplicationLifetime with get, set
    member Name: String with get, set

    // methods
    member Initialize: () -> Void
    member TryGetResource: (key:Object * theme:ThemeVariant * value:byref<Object>) -> Boolean
    member RegisterServices: () -> Void
    member OnFrameworkInitializationCompleted: () -> Void

Animatable

base: AvaloniaObject <- Object

Children: StyledElement, Brush, DashStyle, Effect, Transform

namespace Avalonia.Animation

open Avalonia
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type Animatable =
    inherit AvaloniaObject

    // constructors
    new: () -> Animatable

    // static initonly fields
    [<Nullable>]
    val TransitionsProperty: StyledProperty<Transitions> // static, C# readonly

    // properties
    [<Nullable>]
    member Transitions: Transitions with get, set

StyledElement

base: Animatable <- AvaloniaObject <- Object

Children: Visual, TextElement, GestureRecognizer

namespace Avalonia

open Avalonia.Animation
open Avalonia.Controls
open Avalonia.LogicalTree
open Avalonia.Styling
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type StyledElement =
    inherit Animatable

    // constructors
    new: () -> StyledElement

    // static initonly fields
    [<Nullable>]
    val DataContextProperty: StyledProperty<Object> // static, C# readonly
    [<Nullable>]
    val NameProperty: DirectProperty<StyledElement, String> // static, C# readonly
    [<Nullable>]
    val ParentProperty: DirectProperty<StyledElement, StyledElement> // static, C# readonly
    [<Nullable>]
    val TemplatedParentProperty: DirectProperty<StyledElement, AvaloniaObject> // static, C# readonly
    [<Nullable>]
    val ThemeProperty: StyledProperty<ControlTheme> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member AttachedToLogicalTree: EventHandler<LogicalTreeAttachmentEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member DetachedFromLogicalTree: EventHandler<LogicalTreeAttachmentEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member DataContextChanged: EventHandler // with add, remove
    [<CLIEvent; Nullable>]
    member Initialized: EventHandler // with add, remove
    [<CLIEvent; Nullable>]
    member ResourcesChanged: EventHandler<ResourcesChangedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member ActualThemeVariantChanged: EventHandler // with add, remove

    // readonly properties
    member Classes: Classes with get
    member Styles: Styles with get
    member StyleKey: Type with get
    member ActualThemeVariant: ThemeVariant with get

    // properties
    [<Nullable>]
    member Name: String with get, set
    [<Nullable>]
    member DataContext: Object with get, set
    member IsInitialized: Boolean with get
    member Resources: IResourceDictionary with get, set
    [<Nullable>]
    member TemplatedParent: AvaloniaObject with get
    [<Nullable>]
    member Theme: ControlTheme with get, set
    [<Nullable>]
    member Parent: StyledElement with get

    // methods
    member BeginInit: () -> Void
    member EndInit: () -> Void
    member ApplyStyling: () -> Boolean
    [<NullableContext>]
    member TryGetResource: (key:Object * theme:ThemeVariant * value:byref<Object>) -> Boolean

Visual

base: StyledElement <- Animatable <- AvaloniaObject <- Object

Children: Layoutable

namespace Avalonia

open Avalonia.Media
open Avalonia.Metadata
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; UsableDuringInitialization>]
type Visual =
    inherit StyledElement

    // constructors
    new: () -> Visual

    // static initonly fields
    val BoundsProperty: DirectProperty<Visual, Rect> // static, C# readonly
    val ClipToBoundsProperty: StyledProperty<Boolean> // static, C# readonly
    [<Nullable>]
    val ClipProperty: StyledProperty<Geometry> // static, C# readonly
    val IsVisibleProperty: StyledProperty<Boolean> // static, C# readonly
    val OpacityProperty: StyledProperty<Double> // static, C# readonly
    [<Nullable>]
    val OpacityMaskProperty: StyledProperty<IBrush> // static, C# readonly
    [<Nullable>]
    val EffectProperty: StyledProperty<IEffect> // static, C# readonly
    val HasMirrorTransformProperty: DirectProperty<Visual, Boolean> // static, C# readonly
    [<Nullable>]
    val RenderTransformProperty: StyledProperty<ITransform> // static, C# readonly
    val RenderTransformOriginProperty: StyledProperty<RelativePoint> // static, C# readonly
    val FlowDirectionProperty: AttachedProperty<FlowDirection> // static, C# readonly
    [<Nullable>]
    val VisualParentProperty: DirectProperty<Visual, Visual> // static, C# readonly
    val ZIndexProperty: StyledProperty<Int32> // static, C# readonly

    // static methods
    static member GetFlowDirection: (visual:Visual) -> FlowDirection
    static member SetFlowDirection: (visual:Visual * value:FlowDirection) -> Void

    // events
    [<CLIEvent; Nullable>]
    member AttachedToVisualTree: EventHandler<VisualTreeAttachmentEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member DetachedFromVisualTree: EventHandler<VisualTreeAttachmentEventArgs> // with add, remove

    // readonly properties
    member IsEffectivelyVisible: Boolean with get

    // properties
    member Bounds: Rect with get
    member ClipToBounds: Boolean with get, set
    [<Nullable>]
    member Clip: Geometry with get, set
    member IsVisible: Boolean with get, set
    member Opacity: Double with get, set
    [<Nullable>]
    member OpacityMask: IBrush with get, set
    [<Nullable>]
    member Effect: IEffect with get, set
    member HasMirrorTransform: Boolean with get
    [<Nullable>]
    member RenderTransform: ITransform with get, set
    member RenderTransformOrigin: RelativePoint with get, set
    member FlowDirection: FlowDirection with get, set
    member ZIndex: Int32 with get, set

    // methods
    member InvalidateVisual: () -> Void
    member Render: (context:DrawingContext) -> Void

Layoutable

base: Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: Interactive

namespace Avalonia.Layout

open Avalonia
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type Layoutable =
    inherit Visual

    // constructors
    new: () -> Layoutable

    // static initonly fields
    val DesiredSizeProperty: DirectProperty<Layoutable, Size> // static, C# readonly
    val WidthProperty: StyledProperty<Double> // static, C# readonly
    val HeightProperty: StyledProperty<Double> // static, C# readonly
    val MinWidthProperty: StyledProperty<Double> // static, C# readonly
    val MaxWidthProperty: StyledProperty<Double> // static, C# readonly
    val MinHeightProperty: StyledProperty<Double> // static, C# readonly
    val MaxHeightProperty: StyledProperty<Double> // static, C# readonly
    val MarginProperty: StyledProperty<Thickness> // static, C# readonly
    val HorizontalAlignmentProperty: StyledProperty<HorizontalAlignment> // static, C# readonly
    val VerticalAlignmentProperty: StyledProperty<VerticalAlignment> // static, C# readonly
    val UseLayoutRoundingProperty: StyledProperty<Boolean> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member EffectiveViewportChanged: EventHandler<EffectiveViewportChangedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member LayoutUpdated: EventHandler // with add, remove

    // properties
    member Width: Double with get, set
    member Height: Double with get, set
    member MinWidth: Double with get, set
    member MaxWidth: Double with get, set
    member MinHeight: Double with get, set
    member MaxHeight: Double with get, set
    member Margin: Thickness with get, set
    member HorizontalAlignment: HorizontalAlignment with get, set
    member VerticalAlignment: VerticalAlignment with get, set
    member DesiredSize: Size with get
    member IsMeasureValid: Boolean with get
    member IsArrangeValid: Boolean with get
    member UseLayoutRounding: Boolean with get, set

    // methods
    member UpdateLayout: () -> Void
    member ApplyTemplate: () -> Void
    member Measure: (availableSize:Size) -> Void
    member Arrange: (rect:Rect) -> Void
    member InvalidateMeasure: () -> Void
    member InvalidateArrange: () -> Void

Interactive

base: Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: InputElement

namespace Avalonia.Interactivity

open Avalonia.Layout
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type Interactive =
    inherit Layoutable

    // constructors
    new: () -> Interactive

    // methods
    member AddHandler: (routedEvent:RoutedEvent * handler:Delegate * routes:RoutingStrategies * handledEventsToo:Boolean) -> Void
    member AddHandler: (routedEvent:RoutedEvent<'TEventArgs> * handler:EventHandler<'TEventArgs> * routes:RoutingStrategies * handledEventsToo:Boolean) -> Void
    member RemoveHandler: (routedEvent:RoutedEvent * handler:Delegate) -> Void
    member RemoveHandler: (routedEvent:RoutedEvent<'TEventArgs> * handler:EventHandler<'TEventArgs>) -> Void
    member RaiseEvent: (e:RoutedEventArgs) -> Void

InputElement

base: Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: Control

namespace Avalonia.Input

open Avalonia
open Avalonia.Controls.Metadata
open Avalonia.Input.GestureRecognizers
open Avalonia.Input.TextInput
open Avalonia.Interactivity
open System
open System.Collections.Generic
open System.Runtime.CompilerServices

[<NullableContext; Nullable; PseudoClasses>]
type InputElement =
    inherit Interactive

    // constructors
    new: () -> InputElement

    // static initonly fields
    val FocusableProperty: StyledProperty<Boolean> // static, C# readonly
    val IsEnabledProperty: StyledProperty<Boolean> // static, C# readonly
    val IsEffectivelyEnabledProperty: DirectProperty<InputElement, Boolean> // static, C# readonly
    [<Nullable>]
    val CursorProperty: StyledProperty<Cursor> // static, C# readonly
    val IsKeyboardFocusWithinProperty: DirectProperty<InputElement, Boolean> // static, C# readonly
    val IsFocusedProperty: DirectProperty<InputElement, Boolean> // static, C# readonly
    val IsHitTestVisibleProperty: StyledProperty<Boolean> // static, C# readonly
    val IsPointerOverProperty: DirectProperty<InputElement, Boolean> // static, C# readonly
    val IsTabStopProperty: StyledProperty<Boolean> // static, C# readonly
    val GotFocusEvent: RoutedEvent<GotFocusEventArgs> // static, C# readonly
    val LostFocusEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly
    val KeyDownEvent: RoutedEvent<KeyEventArgs> // static, C# readonly
    val KeyUpEvent: RoutedEvent<KeyEventArgs> // static, C# readonly
    val TabIndexProperty: StyledProperty<Int32> // static, C# readonly
    val TextInputEvent: RoutedEvent<TextInputEventArgs> // static, C# readonly
    val TextInputMethodClientRequestedEvent: RoutedEvent<TextInputMethodClientRequestedEventArgs> // static, C# readonly
    val PointerEnteredEvent: RoutedEvent<PointerEventArgs> // static, C# readonly
    val PointerExitedEvent: RoutedEvent<PointerEventArgs> // static, C# readonly
    val PointerMovedEvent: RoutedEvent<PointerEventArgs> // static, C# readonly
    val PointerPressedEvent: RoutedEvent<PointerPressedEventArgs> // static, C# readonly
    val PointerReleasedEvent: RoutedEvent<PointerReleasedEventArgs> // static, C# readonly
    val PointerCaptureLostEvent: RoutedEvent<PointerCaptureLostEventArgs> // static, C# readonly
    val PointerWheelChangedEvent: RoutedEvent<PointerWheelEventArgs> // static, C# readonly
    val TappedEvent: RoutedEvent<TappedEventArgs> // static, C# readonly
    val HoldingEvent: RoutedEvent<HoldingRoutedEventArgs> // static, C# readonly
    val DoubleTappedEvent: RoutedEvent<TappedEventArgs> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member GotFocus: EventHandler<GotFocusEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member LostFocus: EventHandler<RoutedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member KeyDown: EventHandler<KeyEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member KeyUp: EventHandler<KeyEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member TextInput: EventHandler<TextInputEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member TextInputMethodClientRequested: EventHandler<TextInputMethodClientRequestedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member PointerEntered: EventHandler<PointerEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member PointerExited: EventHandler<PointerEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member PointerMoved: EventHandler<PointerEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member PointerPressed: EventHandler<PointerPressedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member PointerReleased: EventHandler<PointerReleasedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member PointerCaptureLost: EventHandler<PointerCaptureLostEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member PointerWheelChanged: EventHandler<PointerWheelEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member Tapped: EventHandler<TappedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member Holding: EventHandler<HoldingRoutedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member DoubleTapped: EventHandler<TappedEventArgs> // with add, remove

    // readonly properties
    member KeyBindings: List<KeyBinding> with get
    member GestureRecognizers: GestureRecognizerCollection with get

    // properties
    member Focusable: Boolean with get, set
    member IsEnabled: Boolean with get, set
    [<Nullable>]
    member Cursor: Cursor with get, set
    member IsKeyboardFocusWithin: Boolean with get
    member IsFocused: Boolean with get
    member IsHitTestVisible: Boolean with get, set
    member IsPointerOver: Boolean with get
    member IsTabStop: Boolean with get, set
    member IsEffectivelyEnabled: Boolean with get
    member TabIndex: Int32 with get, set

    // methods
    member Focus: (method:NavigationMethod * keyModifiers:KeyModifiers) -> Boolean

Control

base: InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: BindingEvaluator<'T>, Decorator, Image, NativeControlHost, Panel, TextBlock, TickBar, Viewbox, ContentPresenter, ItemsPresenter, TextPresenter, Popup, TemplatedControl, Track, RemoteWidget, Shape

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Primitives
open Avalonia.Controls.Templates
open Avalonia.Input
open Avalonia.Interactivity
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type Control =
    inherit InputElement

    // constructors
    new: () -> Control

    // static initonly fields
    [<Nullable>]
    val FocusAdornerProperty: StyledProperty<ITemplate<Control>> // static, C# readonly
    [<Nullable>]
    val TagProperty: StyledProperty<Object> // static, C# readonly
    [<Nullable>]
    val ContextMenuProperty: StyledProperty<ContextMenu> // static, C# readonly
    [<Nullable>]
    val ContextFlyoutProperty: StyledProperty<FlyoutBase> // static, C# readonly
    val RequestBringIntoViewEvent: RoutedEvent<RequestBringIntoViewEventArgs> // static, C# readonly
    val ContextRequestedEvent: RoutedEvent<ContextRequestedEventArgs> // static, C# readonly
    val LoadedEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly
    val UnloadedEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly
    val SizeChangedEvent: RoutedEvent<SizeChangedEventArgs> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member ContextRequested: EventHandler<ContextRequestedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member Loaded: EventHandler<RoutedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member Unloaded: EventHandler<RoutedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member SizeChanged: EventHandler<SizeChangedEventArgs> // with add, remove

    // readonly properties
    member DataTemplates: DataTemplates with get
    member IsLoaded: Boolean with get

    // properties
    [<Nullable>]
    member FocusAdorner: ITemplate<Control> with get, set
    [<Nullable>]
    member ContextMenu: ContextMenu with get, set
    [<Nullable>]
    member ContextFlyout: FlyoutBase with get, set
    [<Nullable>]
    member Tag: Object with get, set

BindingEvaluator<'T>

base: Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Data
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type BindingEvaluator<'T> =
    inherit Control

    // constructors
    new: () -> BindingEvaluator<'T>
    [<NullableContext>]
    new: (binding:IBinding) -> BindingEvaluator<'T>

    // static initonly fields
    val ValueProperty: StyledProperty<'T> // static, C# readonly

    // properties
    member Value: 'T with get, set
    [<Nullable>]
    member ValueBinding: IBinding with get, set

    // methods
    member ClearDataContext: () -> Void
    member GetDynamicValue: (o:Object * clearDataContext:Boolean) -> 'T
    member GetDynamicValue: (o:Object) -> 'T

Decorator

base: Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: Border, ExperimentalAcrylicBorder, LayoutTransformControl, ThemeVariantScope, VisualLayerManager

namespace Avalonia.Controls

open Avalonia
open Avalonia.Metadata
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type Decorator =
    inherit Control

    // constructors
    new: () -> Decorator

    // static initonly fields
    [<Nullable>]
    val ChildProperty: StyledProperty<Control> // static, C# readonly
    [<Nullable>]
    val PaddingProperty: StyledProperty<Thickness> // static, C# readonly

    // properties
    [<Content>]
    member Child: Control with get, set
    member Padding: Thickness with get, set

Border

base: Decorator <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: LightDismissOverlayLayer

namespace Avalonia.Controls

open Avalonia
open Avalonia.Media
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type Border =
    inherit Decorator

    // constructors
    new: () -> Border

    // static initonly fields
    [<Nullable>]
    val BackgroundProperty: StyledProperty<IBrush> // static, C# readonly
    [<Nullable>]
    val BorderBrushProperty: StyledProperty<IBrush> // static, C# readonly
    val BorderThicknessProperty: StyledProperty<Thickness> // static, C# readonly
    val CornerRadiusProperty: StyledProperty<CornerRadius> // static, C# readonly
    val BoxShadowProperty: StyledProperty<BoxShadows> // static, C# readonly

    // readonly properties
    member ClipToBoundsRadius: CornerRadius with get

    // properties
    [<Nullable>]
    member Background: IBrush with get, set
    [<Nullable>]
    member BorderBrush: IBrush with get, set
    member BorderThickness: Thickness with get, set
    member CornerRadius: CornerRadius with get, set
    member BoxShadow: BoxShadows with get, set

    // methods
    member Render: (context:DrawingContext) -> Void

LightDismissOverlayLayer

base: Border <- Decorator <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Primitives

open Avalonia
open Avalonia.Controls
open Avalonia.Input
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type LightDismissOverlayLayer =
    inherit Border

    // constructors
    new: () -> LightDismissOverlayLayer

    // static methods
    [<NullableContext>]
    static member GetLightDismissOverlayLayer: (visual:Visual) -> LightDismissOverlayLayer

    // properties
    member InputPassThroughElement: IInputElement with get, set

    // methods
    member HitTest: (point:Point) -> Boolean

ExperimentalAcrylicBorder

base: Decorator <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Media
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type ExperimentalAcrylicBorder =
    inherit Decorator

    // constructors
    new: () -> ExperimentalAcrylicBorder

    // static initonly fields
    val CornerRadiusProperty: StyledProperty<CornerRadius> // static, C# readonly
    val MaterialProperty: StyledProperty<ExperimentalAcrylicMaterial> // static, C# readonly

    // properties
    member CornerRadius: CornerRadius with get, set
    member Material: ExperimentalAcrylicMaterial with get, set

LayoutTransformControl

base: Decorator <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Media
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type LayoutTransformControl =
    inherit Decorator

    // constructors
    new: () -> LayoutTransformControl

    // static initonly fields
    [<Nullable>]
    val LayoutTransformProperty: StyledProperty<ITransform> // static, C# readonly
    [<Nullable>]
    val UseRenderTransformProperty: StyledProperty<Boolean> // static, C# readonly

    // readonly properties
    member TransformRoot: Control with get

    // properties
    member LayoutTransform: ITransform with get, set
    member UseRenderTransform: Boolean with get, set

ThemeVariantScope

base: Decorator <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Styling
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type ThemeVariantScope =
    inherit Decorator

    // constructors
    new: () -> ThemeVariantScope

    // static initonly fields
    [<Nullable>]
    val ActualThemeVariantProperty: StyledProperty<ThemeVariant> // static, C# readonly
    [<Nullable>]
    val RequestedThemeVariantProperty: StyledProperty<ThemeVariant> // static, C# readonly

    // properties
    member RequestedThemeVariant: ThemeVariant with get, set

VisualLayerManager

base: Decorator <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Primitives

open Avalonia
open Avalonia.Controls
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type VisualLayerManager =
    inherit Decorator

    // constructors
    new: () -> VisualLayerManager

    // static initonly fields
    [<Nullable>]
    val ChromeOverlayLayerProperty: StyledProperty<ChromeOverlayLayer> // static, C# readonly

    // readonly properties
    member AdornerLayer: AdornerLayer with get
    member ChromeOverlayLayer: ChromeOverlayLayer with get
    [<Nullable>]
    member OverlayLayer: OverlayLayer with get
    member LightDismissOverlayLayer: LightDismissOverlayLayer with get

    // properties
    member IsPopup: Boolean with get, set

Image

base: Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Media
open Avalonia.Metadata
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type Image =
    inherit Control

    // constructors
    new: () -> Image

    // static initonly fields
    [<Nullable>]
    val SourceProperty: StyledProperty<IImage> // static, C# readonly
    val StretchProperty: StyledProperty<Stretch> // static, C# readonly
    val StretchDirectionProperty: StyledProperty<StretchDirection> // static, C# readonly

    // properties
    [<Nullable; Content>]
    member Source: IImage with get, set
    member Stretch: Stretch with get, set
    member StretchDirection: StretchDirection with get, set

    // methods
    member Render: (context:DrawingContext) -> Void

NativeControlHost

base: Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type NativeControlHost =
    inherit Control

    // constructors
    new: () -> NativeControlHost

    // methods
    member TryUpdateNativeControlPosition: () -> Boolean

Panel

base: Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: Canvas, DockPanel, Grid, RelativePanel, StackPanel, VirtualizingPanel, WrapPanel, ChromeOverlayLayer, DataGridCellsPresenter, DataGridColumnHeadersPresenter, DataGridDetailsPresenter, DataGridRowsPresenter, DateTimePickerPanel, UniformGrid

namespace Avalonia.Controls

open Avalonia
open Avalonia.Media
open Avalonia.Metadata
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type Panel =
    inherit Control

    // constructors
    new: () -> Panel

    // static initonly fields
    [<Nullable>]
    val BackgroundProperty: StyledProperty<IBrush> // static, C# readonly

    // readonly properties
    [<Content>]
    member Children: Controls with get

    // properties
    [<Nullable>]
    member Background: IBrush with get, set
    member IsItemsHost: Boolean with get

    // methods
    member Render: (context:DrawingContext) -> Void

Canvas

base: Panel <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: AdornerLayer, OverlayLayer

namespace Avalonia.Controls

open Avalonia
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type Canvas =
    inherit Panel

    // constructors
    new: () -> Canvas

    // static initonly fields
    val LeftProperty: AttachedProperty<Double> // static, C# readonly
    val TopProperty: AttachedProperty<Double> // static, C# readonly
    val RightProperty: AttachedProperty<Double> // static, C# readonly
    val BottomProperty: AttachedProperty<Double> // static, C# readonly

    // static methods
    static member GetLeft: (element:AvaloniaObject) -> Double
    static member SetLeft: (element:AvaloniaObject * value:Double) -> Void
    static member GetTop: (element:AvaloniaObject) -> Double
    static member SetTop: (element:AvaloniaObject * value:Double) -> Void
    static member GetRight: (element:AvaloniaObject) -> Double
    static member SetRight: (element:AvaloniaObject * value:Double) -> Void
    static member GetBottom: (element:AvaloniaObject) -> Double
    static member SetBottom: (element:AvaloniaObject * value:Double) -> Void

AdornerLayer

base: Canvas <- Panel <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Primitives

open Avalonia
open Avalonia.Controls
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type AdornerLayer =
    inherit Canvas

    // constructors
    new: () -> AdornerLayer

    // static initonly fields
    [<Nullable>]
    val AdornedElementProperty: AttachedProperty<Visual> // static, C# readonly
    val IsClipEnabledProperty: AttachedProperty<Boolean> // static, C# readonly
    [<Nullable>]
    val AdornerProperty: AttachedProperty<Control> // static, C# readonly
    [<Nullable>]
    val DefaultFocusAdornerProperty: StyledProperty<ITemplate<Control>> // static, C# readonly

    // static methods
    static member GetAdornedElement: (adorner:Visual) -> Visual
    static member SetAdornedElement: (adorner:Visual * adorned:Visual) -> Void
    static member GetAdornerLayer: (visual:Visual) -> AdornerLayer
    static member GetIsClipEnabled: (adorner:Visual) -> Boolean
    static member SetIsClipEnabled: (adorner:Visual * isClipEnabled:Boolean) -> Void
    static member GetAdorner: (visual:Visual) -> Control
    static member SetAdorner: (visual:Visual * adorner:Control) -> Void

    // properties
    [<Nullable>]
    member DefaultFocusAdorner: ITemplate<Control> with get, set

OverlayLayer

base: Canvas <- Panel <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Primitives

open Avalonia
open Avalonia.Controls
open System.Runtime.CompilerServices

type OverlayLayer =
    inherit Canvas

    // constructors
    new: () -> OverlayLayer

    // static methods
    [<NullableContext>]
    static member GetOverlayLayer: (visual:Visual) -> OverlayLayer

    // properties
    member AvailableSize: Size with get

DockPanel

base: Panel <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type DockPanel =
    inherit Panel

    // constructors
    new: () -> DockPanel

    // static initonly fields
    val DockProperty: AttachedProperty<Dock> // static, C# readonly
    val LastChildFillProperty: StyledProperty<Boolean> // static, C# readonly

    // static methods
    static member GetDock: (control:Control) -> Dock
    static member SetDock: (control:Control * value:Dock) -> Void

    // properties
    member LastChildFill: Boolean with get, set

Grid

base: Panel <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: DataGridFrozenGrid

namespace Avalonia.Controls

open Avalonia
open System
open System.Diagnostics.CodeAnalysis
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type Grid =
    inherit Panel

    // constructors
    new: () -> Grid

    // static initonly fields
    val ShowGridLinesProperty: StyledProperty<Boolean> // static, C# readonly
    val ColumnProperty: AttachedProperty<Int32> // static, C# readonly
    val RowProperty: AttachedProperty<Int32> // static, C# readonly
    val ColumnSpanProperty: AttachedProperty<Int32> // static, C# readonly
    val RowSpanProperty: AttachedProperty<Int32> // static, C# readonly
    val IsSharedSizeScopeProperty: AttachedProperty<Boolean> // static, C# readonly

    // static methods
    static member SetColumn: (element:Control * value:Int32) -> Void
    static member GetColumn: (element:Control) -> Int32
    static member SetRow: (element:Control * value:Int32) -> Void
    static member GetRow: (element:Control) -> Int32
    static member SetColumnSpan: (element:Control * value:Int32) -> Void
    static member GetColumnSpan: (element:Control) -> Int32
    static member SetRowSpan: (element:Control * value:Int32) -> Void
    static member GetRowSpan: (element:Control) -> Int32
    static member SetIsSharedSizeScope: (element:Control * value:Boolean) -> Void
    static member GetIsSharedSizeScope: (element:Control) -> Boolean

    // properties
    member ShowGridLines: Boolean with get, set
    [<MemberNotNull>]
    member ColumnDefinitions: ColumnDefinitions with get, set
    [<MemberNotNull>]
    member RowDefinitions: RowDefinitions with get, set

DataGridFrozenGrid

base: Grid <- Panel <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Primitives

open Avalonia
open Avalonia.Controls
open System

type DataGridFrozenGrid =
    inherit Grid

    // constructors
    new: () -> DataGridFrozenGrid

    // static initonly fields
    val IsFrozenProperty: StyledProperty<Boolean> // static, C# readonly

    // static methods
    static member GetIsFrozen: (element:Control) -> Boolean
    static member SetIsFrozen: (element:Control * value:Boolean) -> Void

RelativePanel

base: Panel <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type RelativePanel =
    inherit Panel

    // constructors
    new: () -> RelativePanel

    // static initonly fields
    val AboveProperty: AttachedProperty<Object> // static, C# readonly
    val AlignBottomWithPanelProperty: AttachedProperty<Boolean> // static, C# readonly
    val AlignBottomWithProperty: AttachedProperty<Object> // static, C# readonly
    val AlignHorizontalCenterWithPanelProperty: AttachedProperty<Boolean> // static, C# readonly
    val AlignHorizontalCenterWithProperty: AttachedProperty<Object> // static, C# readonly
    val AlignLeftWithPanelProperty: AttachedProperty<Boolean> // static, C# readonly
    val AlignLeftWithProperty: AttachedProperty<Object> // static, C# readonly
    val AlignRightWithPanelProperty: AttachedProperty<Boolean> // static, C# readonly
    val AlignRightWithProperty: AttachedProperty<Object> // static, C# readonly
    val AlignTopWithPanelProperty: AttachedProperty<Boolean> // static, C# readonly
    val AlignTopWithProperty: AttachedProperty<Object> // static, C# readonly
    val AlignVerticalCenterWithPanelProperty: AttachedProperty<Boolean> // static, C# readonly
    val AlignVerticalCenterWithProperty: AttachedProperty<Object> // static, C# readonly
    val BelowProperty: AttachedProperty<Object> // static, C# readonly
    val LeftOfProperty: AttachedProperty<Object> // static, C# readonly
    val RightOfProperty: AttachedProperty<Object> // static, C# readonly

    // static methods
    [<ResolveByName>]
    static member GetAbove: (obj:AvaloniaObject) -> Object
    [<ResolveByName>]
    static member SetAbove: (obj:AvaloniaObject * value:Object) -> Void
    static member GetAlignBottomWithPanel: (obj:AvaloniaObject) -> Boolean
    static member SetAlignBottomWithPanel: (obj:AvaloniaObject * value:Boolean) -> Void
    [<ResolveByName>]
    static member GetAlignBottomWith: (obj:AvaloniaObject) -> Object
    [<ResolveByName>]
    static member SetAlignBottomWith: (obj:AvaloniaObject * value:Object) -> Void
    static member GetAlignHorizontalCenterWithPanel: (obj:AvaloniaObject) -> Boolean
    static member SetAlignHorizontalCenterWithPanel: (obj:AvaloniaObject * value:Boolean) -> Void
    [<ResolveByName>]
    static member GetAlignHorizontalCenterWith: (obj:AvaloniaObject) -> Object
    [<ResolveByName>]
    static member SetAlignHorizontalCenterWith: (obj:AvaloniaObject * value:Object) -> Void
    static member GetAlignLeftWithPanel: (obj:AvaloniaObject) -> Boolean
    static member SetAlignLeftWithPanel: (obj:AvaloniaObject * value:Boolean) -> Void
    [<ResolveByName>]
    static member GetAlignLeftWith: (obj:AvaloniaObject) -> Object
    [<ResolveByName>]
    static member SetAlignLeftWith: (obj:AvaloniaObject * value:Object) -> Void
    static member GetAlignRightWithPanel: (obj:AvaloniaObject) -> Boolean
    static member SetAlignRightWithPanel: (obj:AvaloniaObject * value:Boolean) -> Void
    [<ResolveByName>]
    static member GetAlignRightWith: (obj:AvaloniaObject) -> Object
    [<ResolveByName>]
    static member SetAlignRightWith: (obj:AvaloniaObject * value:Object) -> Void
    static member GetAlignTopWithPanel: (obj:AvaloniaObject) -> Boolean
    static member SetAlignTopWithPanel: (obj:AvaloniaObject * value:Boolean) -> Void
    [<ResolveByName>]
    static member GetAlignTopWith: (obj:AvaloniaObject) -> Object
    [<ResolveByName>]
    static member SetAlignTopWith: (obj:AvaloniaObject * value:Object) -> Void
    static member GetAlignVerticalCenterWithPanel: (obj:AvaloniaObject) -> Boolean
    static member SetAlignVerticalCenterWithPanel: (obj:AvaloniaObject * value:Boolean) -> Void
    [<ResolveByName>]
    static member GetAlignVerticalCenterWith: (obj:AvaloniaObject) -> Object
    [<ResolveByName>]
    static member SetAlignVerticalCenterWith: (obj:AvaloniaObject * value:Object) -> Void
    [<ResolveByName>]
    static member GetBelow: (obj:AvaloniaObject) -> Object
    [<ResolveByName>]
    static member SetBelow: (obj:AvaloniaObject * value:Object) -> Void
    [<ResolveByName>]
    static member GetLeftOf: (obj:AvaloniaObject) -> Object
    [<ResolveByName>]
    static member SetLeftOf: (obj:AvaloniaObject * value:Object) -> Void
    [<ResolveByName>]
    static member GetRightOf: (obj:AvaloniaObject) -> Object
    [<ResolveByName>]
    static member SetRightOf: (obj:AvaloniaObject * value:Object) -> Void

StackPanel

base: Panel <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: ReversibleStackPanel

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Primitives
open Avalonia.Interactivity
open Avalonia.Layout
open System
open System.Collections.Generic
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type StackPanel =
    inherit Panel

    // constructors
    new: () -> StackPanel

    // static initonly fields
    val SpacingProperty: StyledProperty<Double> // static, C# readonly
    val OrientationProperty: StyledProperty<Orientation> // static, C# readonly
    val AreHorizontalSnapPointsRegularProperty: StyledProperty<Boolean> // static, C# readonly
    val AreVerticalSnapPointsRegularProperty: StyledProperty<Boolean> // static, C# readonly
    val HorizontalSnapPointsChangedEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly
    val VerticalSnapPointsChangedEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member HorizontalSnapPointsChanged: EventHandler<RoutedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member VerticalSnapPointsChanged: EventHandler<RoutedEventArgs> // with add, remove

    // properties
    member Spacing: Double with get, set
    member Orientation: Orientation with get, set
    member AreHorizontalSnapPointsRegular: Boolean with get, set
    member AreVerticalSnapPointsRegular: Boolean with get, set

    // methods
    member GetIrregularSnapPoints: (orientation:Orientation * snapPointsAlignment:SnapPointsAlignment) -> IReadOnlyList<Double>
    member GetRegularSnapPoints: (orientation:Orientation * snapPointsAlignment:SnapPointsAlignment * offset:byref<Double>) -> Double

ReversibleStackPanel

base: StackPanel <- Panel <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open System
open System.Runtime.CompilerServices

type ReversibleStackPanel =
    inherit StackPanel

    // constructors
    new: () -> ReversibleStackPanel

    // static initonly fields
    [<Nullable>]
    val ReverseOrderProperty: StyledProperty<Boolean> // static, C# readonly

    // properties
    member ReverseOrder: Boolean with get, set

VirtualizingPanel

base: Panel <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: VirtualizingCarouselPanel, VirtualizingStackPanel

namespace Avalonia.Controls

open Avalonia.Controls.Generators
open System.Runtime.CompilerServices

[<AbstractClass; NullableContext; Nullable>]
type VirtualizingPanel =
    inherit Panel

    // readonly properties
    member ItemContainerGenerator: ItemContainerGenerator with get

VirtualizingCarouselPanel

base: VirtualizingPanel <- Panel <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type VirtualizingCarouselPanel =
    inherit VirtualizingPanel

    // constructors
    new: () -> VirtualizingCarouselPanel

VirtualizingStackPanel

base: VirtualizingPanel <- Panel <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Primitives
open Avalonia.Interactivity
open Avalonia.Layout
open System
open System.Collections.Generic
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type VirtualizingStackPanel =
    inherit VirtualizingPanel

    // constructors
    new: () -> VirtualizingStackPanel

    // static initonly fields
    val OrientationProperty: StyledProperty<Orientation> // static, C# readonly
    val AreHorizontalSnapPointsRegularProperty: StyledProperty<Boolean> // static, C# readonly
    val AreVerticalSnapPointsRegularProperty: StyledProperty<Boolean> // static, C# readonly
    val HorizontalSnapPointsChangedEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly
    val VerticalSnapPointsChangedEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member HorizontalSnapPointsChanged: EventHandler<RoutedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member VerticalSnapPointsChanged: EventHandler<RoutedEventArgs> // with add, remove

    // readonly properties
    member FirstRealizedIndex: Int32 with get
    member LastRealizedIndex: Int32 with get

    // properties
    member Orientation: Orientation with get, set
    member AreHorizontalSnapPointsRegular: Boolean with get, set
    member AreVerticalSnapPointsRegular: Boolean with get, set

    // methods
    member GetIrregularSnapPoints: (orientation:Orientation * snapPointsAlignment:SnapPointsAlignment) -> IReadOnlyList<Double>
    member GetRegularSnapPoints: (orientation:Orientation * snapPointsAlignment:SnapPointsAlignment * offset:byref<Double>) -> Double

WrapPanel

base: Panel <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Layout
open System
open System.Runtime.CompilerServices

type WrapPanel =
    inherit Panel

    // constructors
    new: () -> WrapPanel

    // static initonly fields
    [<Nullable>]
    val OrientationProperty: StyledProperty<Orientation> // static, C# readonly
    [<Nullable>]
    val ItemWidthProperty: StyledProperty<Double> // static, C# readonly
    [<Nullable>]
    val ItemHeightProperty: StyledProperty<Double> // static, C# readonly

    // properties
    member Orientation: Orientation with get, set
    member ItemWidth: Double with get, set
    member ItemHeight: Double with get, set

ChromeOverlayLayer

base: Panel <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Primitives

open Avalonia
open Avalonia.Controls
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type ChromeOverlayLayer =
    inherit Panel

    // constructors
    new: () -> ChromeOverlayLayer

    // static methods
    static member GetOverlayLayer: (visual:Visual) -> Panel

    // methods
    member Add: (c:Control) -> Void

DataGridCellsPresenter

base: Panel <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Primitives

open Avalonia.Controls

type DataGridCellsPresenter =
    inherit Panel

    // constructors
    new: () -> DataGridCellsPresenter

DataGridColumnHeadersPresenter

base: Panel <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Primitives

open Avalonia.Controls

type DataGridColumnHeadersPresenter =
    inherit Panel

    // constructors
    new: () -> DataGridColumnHeadersPresenter

DataGridDetailsPresenter

base: Panel <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Primitives

open Avalonia
open Avalonia.Controls
open System

type DataGridDetailsPresenter =
    inherit Panel

    // constructors
    new: () -> DataGridDetailsPresenter

    // static initonly fields
    val ContentHeightProperty: StyledProperty<Double> // static, C# readonly

    // properties
    member ContentHeight: Double with get, set

DataGridRowsPresenter

base: Panel <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Primitives

open Avalonia.Controls

type DataGridRowsPresenter =
    inherit Panel

    // constructors
    new: () -> DataGridRowsPresenter

DateTimePickerPanel

base: Panel <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Primitives

open Avalonia
open Avalonia.Controls
open Avalonia.Input
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type DateTimePickerPanel =
    inherit Panel

    // constructors
    new: () -> DateTimePickerPanel

    // static initonly fields
    val ItemHeightProperty: StyledProperty<Double> // static, C# readonly
    val PanelTypeProperty: StyledProperty<DateTimePickerPanelType> // static, C# readonly
    val ItemFormatProperty: StyledProperty<String> // static, C# readonly
    val ShouldLoopProperty: StyledProperty<Boolean> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member ScrollInvalidated: EventHandler // with add, remove
    [<CLIEvent; Nullable>]
    member SelectionChanged: EventHandler // with add, remove

    // readonly properties
    member IsLogicalScrollEnabled: Boolean with get
    member ScrollSize: Size with get
    member PageScrollSize: Size with get
    member Extent: Size with get
    member Viewport: Size with get

    // properties
    member PanelType: DateTimePickerPanelType with get, set
    member ItemHeight: Double with get, set
    member ItemFormat: String with get, set
    member ShouldLoop: Boolean with get, set
    member MinimumValue: Int32 with get, set
    member MaximumValue: Int32 with get, set
    member SelectedValue: Int32 with get, set
    member Increment: Int32 with get, set
    member Offset: Vector with get, set
    member CanHorizontallyScroll: Boolean with get, set
    member CanVerticallyScroll: Boolean with get, set

    // methods
    member RefreshItems: () -> Void
    member ScrollUp: (numItems:Int32) -> Void
    member ScrollDown: (numItems:Int32) -> Void
    member BringIntoView: (target:Control * targetRect:Rect) -> Boolean
    [<NullableContext>]
    member GetControlInDirection: (direction:NavigationDirection * from:Control) -> Control
    member RaiseScrollInvalidated: (e:EventArgs) -> Void

UniformGrid

base: Panel <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Primitives

open Avalonia
open Avalonia.Controls
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type UniformGrid =
    inherit Panel

    // constructors
    new: () -> UniformGrid

    // static initonly fields
    val RowsProperty: StyledProperty<Int32> // static, C# readonly
    val ColumnsProperty: StyledProperty<Int32> // static, C# readonly
    val FirstColumnProperty: StyledProperty<Int32> // static, C# readonly

    // properties
    member Rows: Int32 with get, set
    member Columns: Int32 with get, set
    member FirstColumn: Int32 with get, set

TextBlock

base: Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: SelectableTextBlock, AccessText

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Documents
open Avalonia.Media
open Avalonia.Media.TextFormatting
open Avalonia.Metadata
open System
open System.Diagnostics
open System.Runtime.CompilerServices

[<NullableContext; Nullable; DebuggerDisplay>]
type TextBlock =
    inherit Control

    // constructors
    new: () -> TextBlock

    // static initonly fields
    [<Nullable>]
    val BackgroundProperty: StyledProperty<IBrush> // static, C# readonly
    val PaddingProperty: StyledProperty<Thickness> // static, C# readonly
    val FontFamilyProperty: StyledProperty<FontFamily> // static, C# readonly
    val FontSizeProperty: StyledProperty<Double> // static, C# readonly
    val FontStyleProperty: StyledProperty<FontStyle> // static, C# readonly
    val FontWeightProperty: StyledProperty<FontWeight> // static, C# readonly
    val FontStretchProperty: StyledProperty<FontStretch> // static, C# readonly
    [<Nullable>]
    val ForegroundProperty: StyledProperty<IBrush> // static, C# readonly
    val BaselineOffsetProperty: AttachedProperty<Double> // static, C# readonly
    val LineHeightProperty: AttachedProperty<Double> // static, C# readonly
    val LetterSpacingProperty: AttachedProperty<Double> // static, C# readonly
    val MaxLinesProperty: AttachedProperty<Int32> // static, C# readonly
    [<Nullable>]
    val TextProperty: StyledProperty<String> // static, C# readonly
    val TextAlignmentProperty: AttachedProperty<TextAlignment> // static, C# readonly
    val TextWrappingProperty: AttachedProperty<TextWrapping> // static, C# readonly
    val TextTrimmingProperty: AttachedProperty<TextTrimming> // static, C# readonly
    [<Nullable>]
    val TextDecorationsProperty: StyledProperty<TextDecorationCollection> // static, C# readonly
    [<Nullable>]
    val InlinesProperty: DirectProperty<TextBlock, InlineCollection> // static, C# readonly

    // static methods
    static member GetBaselineOffset: (control:Control) -> Double
    static member SetBaselineOffset: (control:Control * value:Double) -> Void
    static member GetTextAlignment: (control:Control) -> TextAlignment
    static member SetTextAlignment: (control:Control * alignment:TextAlignment) -> Void
    static member GetTextWrapping: (control:Control) -> TextWrapping
    static member SetTextWrapping: (control:Control * wrapping:TextWrapping) -> Void
    static member GetTextTrimming: (control:Control) -> TextTrimming
    static member SetTextTrimming: (control:Control * trimming:TextTrimming) -> Void
    static member GetLineHeight: (control:Control) -> Double
    static member SetLineHeight: (control:Control * height:Double) -> Void
    static member GetLetterSpacing: (control:Control) -> Double
    static member SetLetterSpacing: (control:Control * letterSpacing:Double) -> Void
    static member GetMaxLines: (control:Control) -> Int32
    static member SetMaxLines: (control:Control * maxLines:Int32) -> Void

    // readonly properties
    member TextLayout: TextLayout with get

    // properties
    member Padding: Thickness with get, set
    [<Nullable>]
    member Background: IBrush with get, set
    [<Nullable>]
    member Text: String with get, set
    member FontFamily: FontFamily with get, set
    member FontSize: Double with get, set
    member FontStyle: FontStyle with get, set
    member FontWeight: FontWeight with get, set
    member FontStretch: FontStretch with get, set
    [<Nullable>]
    member Foreground: IBrush with get, set
    member LineHeight: Double with get, set
    member LetterSpacing: Double with get, set
    member MaxLines: Int32 with get, set
    member TextWrapping: TextWrapping with get, set
    member TextTrimming: TextTrimming with get, set
    member TextAlignment: TextAlignment with get, set
    [<Nullable>]
    member TextDecorations: TextDecorationCollection with get, set
    [<Nullable; Content>]
    member Inlines: InlineCollection with get, set
    member BaselineOffset: Double with get, set

    // methods
    member Render: (context:DrawingContext) -> Void

SelectableTextBlock

base: TextBlock <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Interactivity
open Avalonia.Media
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type SelectableTextBlock =
    inherit TextBlock

    // constructors
    new: () -> SelectableTextBlock

    // static initonly fields
    val SelectionStartProperty: StyledProperty<Int32> // static, C# readonly
    val SelectionEndProperty: StyledProperty<Int32> // static, C# readonly
    val SelectedTextProperty: DirectProperty<SelectableTextBlock, String> // static, C# readonly
    [<Nullable>]
    val SelectionBrushProperty: StyledProperty<IBrush> // static, C# readonly
    val CanCopyProperty: DirectProperty<SelectableTextBlock, Boolean> // static, C# readonly
    val CopyingToClipboardEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member CopyingToClipboard: EventHandler<RoutedEventArgs> // with add, remove

    // readonly properties
    member SelectedText: String with get

    // properties
    [<Nullable>]
    member SelectionBrush: IBrush with get, set
    member SelectionStart: Int32 with get, set
    member SelectionEnd: Int32 with get, set
    member CanCopy: Boolean with get

    // methods
    [<AsyncStateMachine>]
    member Copy: () -> Void
    member SelectAll: () -> Void
    member ClearSelection: () -> Void

AccessText

base: TextBlock <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Primitives

open Avalonia
open Avalonia.Controls
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type AccessText =
    inherit TextBlock

    // constructors
    new: () -> AccessText

    // static initonly fields
    val ShowAccessKeyProperty: AttachedProperty<Boolean> // static, C# readonly

    // properties
    member AccessKey: Char with get
    member ShowAccessKey: Boolean with get, set

TickBar

base: Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Collections
open Avalonia.Layout
open Avalonia.Media
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type TickBar =
    inherit Control

    // constructors
    new: () -> TickBar

    // static initonly fields
    [<Nullable>]
    val FillProperty: StyledProperty<IBrush> // static, C# readonly
    val MinimumProperty: StyledProperty<Double> // static, C# readonly
    val MaximumProperty: StyledProperty<Double> // static, C# readonly
    val TickFrequencyProperty: StyledProperty<Double> // static, C# readonly
    val OrientationProperty: StyledProperty<Orientation> // static, C# readonly
    [<Nullable>]
    val TicksProperty: StyledProperty<AvaloniaList<Double>> // static, C# readonly
    val IsDirectionReversedProperty: StyledProperty<Boolean> // static, C# readonly
    val PlacementProperty: StyledProperty<TickBarPlacement> // static, C# readonly
    val ReservedSpaceProperty: StyledProperty<Rect> // static, C# readonly

    // properties
    [<Nullable>]
    member Fill: IBrush with get, set
    member Minimum: Double with get, set
    member Maximum: Double with get, set
    member TickFrequency: Double with get, set
    member Orientation: Orientation with get, set
    [<Nullable>]
    member Ticks: AvaloniaList<Double> with get, set
    member IsDirectionReversed: Boolean with get, set
    member Placement: TickBarPlacement with get, set
    member ReservedSpace: Rect with get, set

    // methods
    member Render: (dc:DrawingContext) -> Void

Viewbox

base: Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Media
open Avalonia.Metadata
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type Viewbox =
    inherit Control

    // constructors
    new: () -> Viewbox

    // static initonly fields
    [<Nullable>]
    val StretchProperty: StyledProperty<Stretch> // static, C# readonly
    [<Nullable>]
    val StretchDirectionProperty: StyledProperty<StretchDirection> // static, C# readonly
    [<Nullable>]
    val ChildProperty: StyledProperty<Control> // static, C# readonly

    // properties
    member Stretch: Stretch with get, set
    member StretchDirection: StretchDirection with get, set
    [<Content>]
    member Child: Control with get, set

ContentPresenter

base: Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: ScrollContentPresenter

namespace Avalonia.Controls.Presenters

open Avalonia
open Avalonia.Controls
open Avalonia.Controls.Metadata
open Avalonia.Controls.Templates
open Avalonia.Layout
open Avalonia.Media
open Avalonia.Metadata
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; PseudoClasses>]
type ContentPresenter =
    inherit Control

    // constructors
    new: () -> ContentPresenter

    // static initonly fields
    [<Nullable>]
    val BackgroundProperty: StyledProperty<IBrush> // static, C# readonly
    [<Nullable>]
    val BorderBrushProperty: StyledProperty<IBrush> // static, C# readonly
    val BorderThicknessProperty: StyledProperty<Thickness> // static, C# readonly
    val CornerRadiusProperty: StyledProperty<CornerRadius> // static, C# readonly
    val BoxShadowProperty: StyledProperty<BoxShadows> // static, C# readonly
    [<Nullable>]
    val ForegroundProperty: StyledProperty<IBrush> // static, C# readonly
    val FontFamilyProperty: StyledProperty<FontFamily> // static, C# readonly
    val FontSizeProperty: StyledProperty<Double> // static, C# readonly
    val FontStyleProperty: StyledProperty<FontStyle> // static, C# readonly
    val FontWeightProperty: StyledProperty<FontWeight> // static, C# readonly
    val FontStretchProperty: StyledProperty<FontStretch> // static, C# readonly
    val TextAlignmentProperty: StyledProperty<TextAlignment> // static, C# readonly
    val TextWrappingProperty: StyledProperty<TextWrapping> // static, C# readonly
    val TextTrimmingProperty: StyledProperty<TextTrimming> // static, C# readonly
    val LineHeightProperty: StyledProperty<Double> // static, C# readonly
    val MaxLinesProperty: StyledProperty<Int32> // static, C# readonly
    [<Nullable>]
    val ChildProperty: DirectProperty<ContentPresenter, Control> // static, C# readonly
    [<Nullable>]
    val ContentProperty: StyledProperty<Object> // static, C# readonly
    [<Nullable>]
    val ContentTemplateProperty: StyledProperty<IDataTemplate> // static, C# readonly
    val HorizontalContentAlignmentProperty: StyledProperty<HorizontalAlignment> // static, C# readonly
    val VerticalContentAlignmentProperty: StyledProperty<VerticalAlignment> // static, C# readonly
    val PaddingProperty: StyledProperty<Thickness> // static, C# readonly
    val RecognizesAccessKeyProperty: StyledProperty<Boolean> // static, C# readonly

    // properties
    [<Nullable>]
    member Background: IBrush with get, set
    [<Nullable>]
    member BorderBrush: IBrush with get, set
    member BorderThickness: Thickness with get, set
    member CornerRadius: CornerRadius with get, set
    member BoxShadow: BoxShadows with get, set
    [<Nullable>]
    member Foreground: IBrush with get, set
    member FontFamily: FontFamily with get, set
    member FontSize: Double with get, set
    member FontStyle: FontStyle with get, set
    member FontWeight: FontWeight with get, set
    member FontStretch: FontStretch with get, set
    member TextAlignment: TextAlignment with get, set
    member TextWrapping: TextWrapping with get, set
    member TextTrimming: TextTrimming with get, set
    member LineHeight: Double with get, set
    member MaxLines: Int32 with get, set
    [<Nullable>]
    member Child: Control with get
    [<Nullable; DependsOn>]
    member Content: Object with get, set
    [<Nullable>]
    member ContentTemplate: IDataTemplate with get, set
    member HorizontalContentAlignment: HorizontalAlignment with get, set
    member VerticalContentAlignment: VerticalAlignment with get, set
    member Padding: Thickness with get, set
    member RecognizesAccessKey: Boolean with get, set

    // methods
    member ApplyTemplate: () -> Void
    member UpdateChild: () -> Void
    member Render: (context:DrawingContext) -> Void

ScrollContentPresenter

base: ContentPresenter <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Presenters

open Avalonia
open Avalonia.Controls.Primitives
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type ScrollContentPresenter =
    inherit ContentPresenter

    // constructors
    new: () -> ScrollContentPresenter

    // static initonly fields
    val CanHorizontallyScrollProperty: StyledProperty<Boolean> // static, C# readonly
    val CanVerticallyScrollProperty: StyledProperty<Boolean> // static, C# readonly
    val ExtentProperty: DirectProperty<ScrollContentPresenter, Size> // static, C# readonly
    val OffsetProperty: StyledProperty<Vector> // static, C# readonly
    val ViewportProperty: DirectProperty<ScrollContentPresenter, Size> // static, C# readonly
    val HorizontalSnapPointsTypeProperty: StyledProperty<SnapPointsType> // static, C# readonly
    val VerticalSnapPointsTypeProperty: StyledProperty<SnapPointsType> // static, C# readonly
    val HorizontalSnapPointsAlignmentProperty: StyledProperty<SnapPointsAlignment> // static, C# readonly
    val VerticalSnapPointsAlignmentProperty: StyledProperty<SnapPointsAlignment> // static, C# readonly
    val IsScrollChainingEnabledProperty: StyledProperty<Boolean> // static, C# readonly

    // properties
    member CanHorizontallyScroll: Boolean with get, set
    member CanVerticallyScroll: Boolean with get, set
    member Extent: Size with get
    member Offset: Vector with get, set
    member Viewport: Size with get
    member HorizontalSnapPointsType: SnapPointsType with get, set
    member VerticalSnapPointsType: SnapPointsType with get, set
    member HorizontalSnapPointsAlignment: SnapPointsAlignment with get, set
    member VerticalSnapPointsAlignment: SnapPointsAlignment with get, set
    member IsScrollChainingEnabled: Boolean with get, set

    // methods
    member BringDescendantIntoView: (target:Visual * targetRect:Rect) -> Boolean

ItemsPresenter

base: Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Presenters

open Avalonia
open Avalonia.Controls
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type ItemsPresenter =
    inherit Control

    // constructors
    new: () -> ItemsPresenter

    // static initonly fields
    [<Nullable>]
    val ItemsPanelProperty: StyledProperty<ITemplate<Panel>> // static, C# readonly

    // properties
    [<Nullable>]
    member ItemsPanel: ITemplate<Panel> with get, set
    member Panel: Panel with get

    // methods
    member ApplyTemplate: () -> Void

TextPresenter

base: Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Presenters

open Avalonia
open Avalonia.Controls
open Avalonia.Media
open Avalonia.Media.TextFormatting
open Avalonia.Metadata
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type TextPresenter =
    inherit Control

    // constructors
    new: () -> TextPresenter

    // static initonly fields
    [<Nullable>]
    val CaretIndexProperty: StyledProperty<Int32> // static, C# readonly
    [<Nullable>]
    val RevealPasswordProperty: StyledProperty<Boolean> // static, C# readonly
    [<Nullable>]
    val PasswordCharProperty: StyledProperty<Char> // static, C# readonly
    [<Nullable>]
    val SelectionBrushProperty: StyledProperty<IBrush> // static, C# readonly
    [<Nullable>]
    val SelectionForegroundBrushProperty: StyledProperty<IBrush> // static, C# readonly
    [<Nullable>]
    val CaretBrushProperty: StyledProperty<IBrush> // static, C# readonly
    [<Nullable>]
    val SelectionStartProperty: StyledProperty<Int32> // static, C# readonly
    [<Nullable>]
    val SelectionEndProperty: StyledProperty<Int32> // static, C# readonly
    [<Nullable>]
    val TextProperty: StyledProperty<String> // static, C# readonly
    [<Nullable>]
    val PreeditTextProperty: StyledProperty<String> // static, C# readonly
    [<Nullable>]
    val TextAlignmentProperty: StyledProperty<TextAlignment> // static, C# readonly
    [<Nullable>]
    val TextWrappingProperty: StyledProperty<TextWrapping> // static, C# readonly
    [<Nullable>]
    val LineHeightProperty: StyledProperty<Double> // static, C# readonly
    [<Nullable>]
    val LetterSpacingProperty: StyledProperty<Double> // static, C# readonly
    [<Nullable>]
    val BackgroundProperty: StyledProperty<IBrush> // static, C# readonly

    // events
    [<CLIEvent>]
    member CaretBoundsChanged: EventHandler // with add, remove

    // readonly properties
    [<Nullable>]
    member TextLayout: TextLayout with get

    // properties
    member Background: IBrush with get, set
    [<Content>]
    member Text: String with get, set
    member PreeditText: String with get, set
    [<Nullable>]
    member FontFamily: FontFamily with get, set
    member FontSize: Double with get, set
    member FontStyle: FontStyle with get, set
    member FontWeight: FontWeight with get, set
    member FontStretch: FontStretch with get, set
    member Foreground: IBrush with get, set
    member TextWrapping: TextWrapping with get, set
    member LineHeight: Double with get, set
    member LetterSpacing: Double with get, set
    member TextAlignment: TextAlignment with get, set
    member CaretIndex: Int32 with get, set
    member PasswordChar: Char with get, set
    member RevealPassword: Boolean with get, set
    member SelectionBrush: IBrush with get, set
    member SelectionForegroundBrush: IBrush with get, set
    member CaretBrush: IBrush with get, set
    member SelectionStart: Int32 with get, set
    member SelectionEnd: Int32 with get, set

    // methods
    [<NullableContext>]
    member Render: (context:DrawingContext) -> Void
    member ShowCaret: () -> Void
    member HideCaret: () -> Void
    member MoveCaretToTextPosition: (textPosition:Int32 * trailingEdge:Boolean) -> Void
    member MoveCaretToPoint: (point:Point) -> Void
    member MoveCaretVertical: (direction:LogicalDirection) -> Void
    member GetNextCharacterHit: (direction:LogicalDirection) -> CharacterHit
    member MoveCaretHorizontal: (direction:LogicalDirection) -> Void

Popup

base: Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Primitives

open Avalonia
open Avalonia.Controls
open Avalonia.Controls.Primitives.PopupPositioning
open Avalonia.Input
open Avalonia.Metadata
open System
open System.ComponentModel
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type Popup =
    inherit Control

    // constructors
    new: () -> Popup

    // static initonly fields
    val WindowManagerAddShadowHintProperty: StyledProperty<Boolean> // static, C# readonly
    [<Nullable>]
    val ChildProperty: StyledProperty<Control> // static, C# readonly
    val InheritsTransformProperty: StyledProperty<Boolean> // static, C# readonly
    val IsOpenProperty: StyledProperty<Boolean> // static, C# readonly
    val PlacementAnchorProperty: StyledProperty<PopupAnchor> // static, C# readonly
    val PlacementConstraintAdjustmentProperty: StyledProperty<PopupPositionerConstraintAdjustment> // static, C# readonly
    val PlacementGravityProperty: StyledProperty<PopupGravity> // static, C# readonly
    val PlacementProperty: StyledProperty<PlacementMode> // static, C# readonly
    [<Obsolete; EditorBrowsable>]
    val PlacementModeProperty: StyledProperty<PlacementMode> // static, C# readonly
    val PlacementRectProperty: StyledProperty<Nullable<Rect>> // static, C# readonly
    [<Nullable>]
    val PlacementTargetProperty: StyledProperty<Control> // static, C# readonly
    val OverlayDismissEventPassThroughProperty: StyledProperty<Boolean> // static, C# readonly
    [<Nullable>]
    val OverlayInputPassThroughElementProperty: StyledProperty<IInputElement> // static, C# readonly
    val HorizontalOffsetProperty: StyledProperty<Double> // static, C# readonly
    val IsLightDismissEnabledProperty: StyledProperty<Boolean> // static, C# readonly
    val VerticalOffsetProperty: StyledProperty<Double> // static, C# readonly
    val TopmostProperty: StyledProperty<Boolean> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member Closed: EventHandler<EventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member Opened: EventHandler // with add, remove

    // readonly properties
    [<Nullable>]
    member Host: IPopupHost with get
    member IsPointerOverPopup: Boolean with get

    // properties
    member WindowManagerAddShadowHint: Boolean with get, set
    [<Nullable; Content>]
    member Child: Control with get, set
    [<Nullable>]
    member DependencyResolver: IAvaloniaDependencyResolver with get, set
    member InheritsTransform: Boolean with get, set
    member IsLightDismissEnabled: Boolean with get, set
    member IsOpen: Boolean with get, set
    member PlacementAnchor: PopupAnchor with get, set
    member PlacementConstraintAdjustment: PopupPositionerConstraintAdjustment with get, set
    member PlacementGravity: PopupGravity with get, set
    [<Obsolete; EditorBrowsable>]
    member PlacementMode: PlacementMode with get, set
    member Placement: PlacementMode with get, set
    member PlacementRect: Nullable<Rect> with get, set
    [<Nullable; ResolveByName>]
    member PlacementTarget: Control with get, set
    member OverlayDismissEventPassThrough: Boolean with get, set
    [<Nullable>]
    member OverlayInputPassThroughElement: IInputElement with get, set
    member HorizontalOffset: Double with get, set
    member VerticalOffset: Double with get, set
    member Topmost: Boolean with get, set

    // methods
    member Open: () -> Void
    member Close: () -> Void
    member IsInsidePopup: (visual:Visual) -> Boolean

TemplatedControl

base: Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: AutoCompleteBox, Calendar, CalendarDatePicker, ContentControl, DataGrid, DataGridRow, DataGridRowGroupHeader, DatePicker, IconElement, ItemsControl, NativeMenuBar, NumericUpDown, Separator, TextBox, TimePicker, CaptionButtons, TitleBar, WindowNotificationManager, CalendarItem, PickerPresenterBase, RangeBase, Thumb

namespace Avalonia.Controls.Primitives

open Avalonia
open Avalonia.Controls
open Avalonia.Controls.Templates
open Avalonia.Interactivity
open Avalonia.Media
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type TemplatedControl =
    inherit Control

    // constructors
    new: () -> TemplatedControl

    // static initonly fields
    [<Nullable>]
    val BackgroundProperty: StyledProperty<IBrush> // static, C# readonly
    [<Nullable>]
    val BorderBrushProperty: StyledProperty<IBrush> // static, C# readonly
    val BorderThicknessProperty: StyledProperty<Thickness> // static, C# readonly
    val CornerRadiusProperty: StyledProperty<CornerRadius> // static, C# readonly
    val FontFamilyProperty: StyledProperty<FontFamily> // static, C# readonly
    val FontSizeProperty: StyledProperty<Double> // static, C# readonly
    val FontStyleProperty: StyledProperty<FontStyle> // static, C# readonly
    val FontWeightProperty: StyledProperty<FontWeight> // static, C# readonly
    val FontStretchProperty: StyledProperty<FontStretch> // static, C# readonly
    [<Nullable>]
    val ForegroundProperty: StyledProperty<IBrush> // static, C# readonly
    val PaddingProperty: StyledProperty<Thickness> // static, C# readonly
    [<Nullable>]
    val TemplateProperty: StyledProperty<IControlTemplate> // static, C# readonly
    val IsTemplateFocusTargetProperty: AttachedProperty<Boolean> // static, C# readonly
    val TemplateAppliedEvent: RoutedEvent<TemplateAppliedEventArgs> // static, C# readonly

    // static methods
    static member GetIsTemplateFocusTarget: (control:Control) -> Boolean
    static member SetIsTemplateFocusTarget: (control:Control * value:Boolean) -> Void

    // events
    [<CLIEvent; Nullable>]
    member TemplateApplied: EventHandler<TemplateAppliedEventArgs> // with add, remove

    // properties
    [<Nullable>]
    member Background: IBrush with get, set
    [<Nullable>]
    member BorderBrush: IBrush with get, set
    member BorderThickness: Thickness with get, set
    member CornerRadius: CornerRadius with get, set
    member FontFamily: FontFamily with get, set
    member FontSize: Double with get, set
    member FontStyle: FontStyle with get, set
    member FontWeight: FontWeight with get, set
    member FontStretch: FontStretch with get, set
    [<Nullable>]
    member Foreground: IBrush with get, set
    member Padding: Thickness with get, set
    [<Nullable>]
    member Template: IControlTemplate with get, set

    // methods
    member ApplyTemplate: () -> Void

AutoCompleteBox

base: TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Metadata
open Avalonia.Controls.Primitives
open Avalonia.Controls.Templates
open Avalonia.Data
open Avalonia.Interactivity
open System
open System.Collections
open System.Collections.Generic
open System.ComponentModel
open System.Runtime.CompilerServices
open System.Threading
open System.Threading.Tasks

[<NullableContext; Nullable; TemplatePart; TemplatePart; TemplatePart; TemplatePart; PseudoClasses>]
type AutoCompleteBox =
    inherit TemplatedControl

    // constructors
    new: () -> AutoCompleteBox

    // static initonly fields
    [<Nullable>]
    val SelectionChangedEvent: RoutedEvent<SelectionChangedEventArgs> // static, C# readonly
    [<Nullable>]
    val TextChangedEvent: RoutedEvent<TextChangedEventArgs> // static, C# readonly
    [<Nullable>]
    val WatermarkProperty: StyledProperty<String> // static, C# readonly
    [<Nullable>]
    val MinimumPrefixLengthProperty: StyledProperty<Int32> // static, C# readonly
    [<Nullable>]
    val MinimumPopulateDelayProperty: StyledProperty<TimeSpan> // static, C# readonly
    [<Nullable>]
    val MaxDropDownHeightProperty: StyledProperty<Double> // static, C# readonly
    [<Nullable>]
    val IsTextCompletionEnabledProperty: StyledProperty<Boolean> // static, C# readonly
    [<Nullable>]
    val ItemTemplateProperty: StyledProperty<IDataTemplate> // static, C# readonly
    [<Nullable>]
    val IsDropDownOpenProperty: StyledProperty<Boolean> // static, C# readonly
    [<Nullable>]
    val SelectedItemProperty: StyledProperty<Object> // static, C# readonly
    [<Nullable>]
    val TextProperty: StyledProperty<String> // static, C# readonly
    [<Nullable>]
    val SearchTextProperty: DirectProperty<AutoCompleteBox, String> // static, C# readonly
    [<Nullable>]
    val FilterModeProperty: StyledProperty<AutoCompleteFilterMode> // static, C# readonly
    [<Nullable>]
    val ItemFilterProperty: StyledProperty<AutoCompleteFilterPredicate<Object>> // static, C# readonly
    [<Nullable>]
    val TextFilterProperty: StyledProperty<AutoCompleteFilterPredicate<String>> // static, C# readonly
    [<Nullable>]
    val ItemSelectorProperty: StyledProperty<AutoCompleteSelector<Object>> // static, C# readonly
    [<Nullable>]
    val TextSelectorProperty: StyledProperty<AutoCompleteSelector<String>> // static, C# readonly
    [<Nullable>]
    val ItemsSourceProperty: StyledProperty<IEnumerable> // static, C# readonly
    [<Nullable>]
    val AsyncPopulatorProperty: StyledProperty<Func<String, CancellationToken, Task<IEnumerable<Object>>>> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member TextChanged: EventHandler<TextChangedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member Populating: EventHandler<PopulatingEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member Populated: EventHandler<PopulatedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member DropDownOpening: EventHandler<CancelEventArgs> // with add, remove
    [<CLIEvent>]
    member DropDownOpened: EventHandler // with add, remove
    [<CLIEvent; Nullable>]
    member DropDownClosing: EventHandler<CancelEventArgs> // with add, remove
    [<CLIEvent>]
    member DropDownClosed: EventHandler // with add, remove
    [<CLIEvent; Nullable>]
    member SelectionChanged: EventHandler<SelectionChangedEventArgs> // with add, remove

    // properties
    member MinimumPrefixLength: Int32 with get, set
    member IsTextCompletionEnabled: Boolean with get, set
    [<Nullable>]
    member ItemTemplate: IDataTemplate with get, set
    member MinimumPopulateDelay: TimeSpan with get, set
    member MaxDropDownHeight: Double with get, set
    member IsDropDownOpen: Boolean with get, set
    [<AssignBinding>]
    member ValueMemberBinding: IBinding with get, set
    member SelectedItem: Object with get, set
    member Text: String with get, set
    member SearchText: String with get
    member FilterMode: AutoCompleteFilterMode with get, set
    member Watermark: String with get, set
    member ItemFilter: AutoCompleteFilterPredicate<Object> with get, set
    member TextFilter: AutoCompleteFilterPredicate<String> with get, set
    [<Nullable>]
    member ItemSelector: AutoCompleteSelector<Object> with get, set
    member TextSelector: AutoCompleteSelector<String> with get, set
    [<Nullable>]
    member AsyncPopulator: Func<String, CancellationToken, Task<IEnumerable<Object>>> with get, set
    member ItemsSource: IEnumerable with get, set

    // methods
    member PopulateComplete: () -> Void

Calendar

base: TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Metadata
open Avalonia.Controls.Primitives
open Avalonia.Media
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; TemplatePart; TemplatePart>]
type Calendar =
    inherit TemplatedControl

    // constructors
    new: () -> Calendar

    // static initonly fields
    val FirstDayOfWeekProperty: StyledProperty<DayOfWeek> // static, C# readonly
    val IsTodayHighlightedProperty: StyledProperty<Boolean> // static, C# readonly
    [<Nullable>]
    val HeaderBackgroundProperty: StyledProperty<IBrush> // static, C# readonly
    val DisplayModeProperty: StyledProperty<CalendarMode> // static, C# readonly
    val SelectionModeProperty: StyledProperty<CalendarSelectionMode> // static, C# readonly
    val SelectedDateProperty: StyledProperty<Nullable<DateTime>> // static, C# readonly
    val DisplayDateProperty: StyledProperty<DateTime> // static, C# readonly
    val DisplayDateStartProperty: StyledProperty<Nullable<DateTime>> // static, C# readonly
    val DisplayDateEndProperty: StyledProperty<Nullable<DateTime>> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member SelectedDatesChanged: EventHandler<SelectionChangedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member DisplayDateChanged: EventHandler<CalendarDateChangedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member DisplayModeChanged: EventHandler<CalendarModeChangedEventArgs> // with add, remove

    // properties
    member FirstDayOfWeek: DayOfWeek with get, set
    member IsTodayHighlighted: Boolean with get, set
    [<Nullable>]
    member HeaderBackground: IBrush with get, set
    member DisplayMode: CalendarMode with get, set
    member SelectionMode: CalendarSelectionMode with get, set
    member SelectedDate: Nullable<DateTime> with get, set
    member SelectedDates: SelectedDatesCollection with get
    member DisplayDate: DateTime with get, set
    member DisplayDateStart: Nullable<DateTime> with get, set
    member BlackoutDates: CalendarBlackoutDatesCollection with get
    member DisplayDateEnd: Nullable<DateTime> with get, set

    // methods
    member ToString: () -> String

CalendarDatePicker

base: TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Metadata
open Avalonia.Controls.Primitives
open Avalonia.Layout
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; TemplatePart; TemplatePart; TemplatePart; TemplatePart; PseudoClasses>]
type CalendarDatePicker =
    inherit TemplatedControl

    // constructors
    new: () -> CalendarDatePicker

    // static initonly fields
    val DisplayDateProperty: StyledProperty<DateTime> // static, C# readonly
    val DisplayDateStartProperty: StyledProperty<Nullable<DateTime>> // static, C# readonly
    val DisplayDateEndProperty: StyledProperty<Nullable<DateTime>> // static, C# readonly
    val FirstDayOfWeekProperty: StyledProperty<DayOfWeek> // static, C# readonly
    val IsDropDownOpenProperty: StyledProperty<Boolean> // static, C# readonly
    val IsTodayHighlightedProperty: StyledProperty<Boolean> // static, C# readonly
    val SelectedDateProperty: StyledProperty<Nullable<DateTime>> // static, C# readonly
    val SelectedDateFormatProperty: StyledProperty<CalendarDatePickerFormat> // static, C# readonly
    val CustomDateFormatStringProperty: StyledProperty<String> // static, C# readonly
    [<Nullable>]
    val TextProperty: StyledProperty<String> // static, C# readonly
    [<Nullable>]
    val WatermarkProperty: StyledProperty<String> // static, C# readonly
    val UseFloatingWatermarkProperty: StyledProperty<Boolean> // static, C# readonly
    val HorizontalContentAlignmentProperty: StyledProperty<HorizontalAlignment> // static, C# readonly
    val VerticalContentAlignmentProperty: StyledProperty<VerticalAlignment> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member CalendarClosed: EventHandler // with add, remove
    [<CLIEvent; Nullable>]
    member CalendarOpened: EventHandler // with add, remove
    [<CLIEvent; Nullable>]
    member DateValidationError: EventHandler<CalendarDatePickerDateValidationErrorEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member SelectedDateChanged: EventHandler<SelectionChangedEventArgs> // with add, remove

    // properties
    [<Nullable>]
    member BlackoutDates: CalendarBlackoutDatesCollection with get
    member DisplayDate: DateTime with get, set
    member DisplayDateStart: Nullable<DateTime> with get, set
    member DisplayDateEnd: Nullable<DateTime> with get, set
    member FirstDayOfWeek: DayOfWeek with get, set
    member IsDropDownOpen: Boolean with get, set
    member IsTodayHighlighted: Boolean with get, set
    member SelectedDate: Nullable<DateTime> with get, set
    member SelectedDateFormat: CalendarDatePickerFormat with get, set
    member CustomDateFormatString: String with get, set
    [<Nullable>]
    member Text: String with get, set
    [<Nullable>]
    member Watermark: String with get, set
    member UseFloatingWatermark: Boolean with get, set
    member HorizontalContentAlignment: HorizontalAlignment with get, set
    member VerticalContentAlignment: VerticalAlignment with get, set

ContentControl

base: TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: Button, DataGridCell, DataGridColumnHeader, DataValidationErrors, FlyoutPresenter, Label, ListBoxItem, RefreshContainer, RefreshVisualizer, ScrollViewer, Spinner, SplitButton, SplitView, ToolTip, TopLevel, TransitioningContentControl, UserControl, NotificationCard, DataGridRowHeader, HeaderedContentControl, OverlayPopupHost

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Metadata
open Avalonia.Controls.Presenters
open Avalonia.Controls.Primitives
open Avalonia.Controls.Templates
open Avalonia.Layout
open Avalonia.Metadata
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; TemplatePart>]
type ContentControl =
    inherit TemplatedControl

    // constructors
    new: () -> ContentControl

    // static initonly fields
    [<Nullable>]
    val ContentProperty: StyledProperty<Object> // static, C# readonly
    [<Nullable>]
    val ContentTemplateProperty: StyledProperty<IDataTemplate> // static, C# readonly
    [<Nullable>]
    val HorizontalContentAlignmentProperty: StyledProperty<HorizontalAlignment> // static, C# readonly
    [<Nullable>]
    val VerticalContentAlignmentProperty: StyledProperty<VerticalAlignment> // static, C# readonly

    // properties
    [<Content; DependsOn>]
    member Content: Object with get, set
    member ContentTemplate: IDataTemplate with get, set
    member Presenter: ContentPresenter with get
    member HorizontalContentAlignment: HorizontalAlignment with get, set
    member VerticalContentAlignment: VerticalAlignment with get, set

Button

base: ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: DropDownButton, RepeatButton, CalendarButton, CalendarDayButton, ToggleButton

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Metadata
open Avalonia.Controls.Primitives
open Avalonia.Input
open Avalonia.Interactivity
open System
open System.Runtime.CompilerServices
open System.Windows.Input

[<NullableContext; Nullable; PseudoClasses>]
type Button =
    inherit ContentControl

    // constructors
    new: () -> Button

    // static initonly fields
    val ClickModeProperty: StyledProperty<ClickMode> // static, C# readonly
    [<Nullable>]
    val CommandProperty: StyledProperty<ICommand> // static, C# readonly
    [<Nullable>]
    val HotKeyProperty: StyledProperty<KeyGesture> // static, C# readonly
    [<Nullable>]
    val CommandParameterProperty: StyledProperty<Object> // static, C# readonly
    val IsDefaultProperty: StyledProperty<Boolean> // static, C# readonly
    val IsCancelProperty: StyledProperty<Boolean> // static, C# readonly
    val ClickEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly
    val IsPressedProperty: DirectProperty<Button, Boolean> // static, C# readonly
    [<Nullable>]
    val FlyoutProperty: StyledProperty<FlyoutBase> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member Click: EventHandler<RoutedEventArgs> // with add, remove

    // properties
    member ClickMode: ClickMode with get, set
    [<Nullable>]
    member Command: ICommand with get, set
    [<Nullable>]
    member HotKey: KeyGesture with get, set
    [<Nullable>]
    member CommandParameter: Object with get, set
    member IsDefault: Boolean with get, set
    member IsCancel: Boolean with get, set
    member IsPressed: Boolean with get
    [<Nullable>]
    member Flyout: FlyoutBase with get, set

DropDownButton

base: Button <- ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls


type DropDownButton =
    inherit Button

    // constructors
    new: () -> DropDownButton

RepeatButton

base: Button <- ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type RepeatButton =
    inherit Button

    // constructors
    new: () -> RepeatButton

    // static initonly fields
    val IntervalProperty: StyledProperty<Int32> // static, C# readonly
    val DelayProperty: StyledProperty<Int32> // static, C# readonly

    // properties
    member Interval: Int32 with get, set
    member Delay: Int32 with get, set

CalendarButton

base: Button <- ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Primitives

open Avalonia.Controls
open Avalonia.Controls.Metadata
open Avalonia.Input
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; PseudoClasses>]
type CalendarButton =
    inherit Button

    // constructors
    new: () -> CalendarButton

    // events
    [<CLIEvent; Nullable>]
    member CalendarLeftMouseButtonDown: EventHandler<PointerPressedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member CalendarLeftMouseButtonUp: EventHandler<PointerReleasedEventArgs> // with add, remove

CalendarDayButton

base: Button <- ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Primitives

open Avalonia.Controls
open Avalonia.Controls.Metadata
open Avalonia.Input
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; PseudoClasses>]
type CalendarDayButton =
    inherit Button

    // constructors
    new: () -> CalendarDayButton

    // events
    [<CLIEvent; Nullable>]
    member CalendarDayButtonMouseDown: EventHandler<PointerPressedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member CalendarDayButtonMouseUp: EventHandler<PointerReleasedEventArgs> // with add, remove

ToggleButton

base: Button <- ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: CheckBox, RadioButton, ToggleSwitch

namespace Avalonia.Controls.Primitives

open Avalonia
open Avalonia.Controls
open Avalonia.Controls.Metadata
open Avalonia.Interactivity
open System
open System.ComponentModel
open System.Runtime.CompilerServices

[<NullableContext; Nullable; PseudoClasses>]
type ToggleButton =
    inherit Button

    // constructors
    new: () -> ToggleButton

    // static initonly fields
    val IsCheckedProperty: StyledProperty<Nullable<Boolean>> // static, C# readonly
    val IsThreeStateProperty: StyledProperty<Boolean> // static, C# readonly
    [<Obsolete; EditorBrowsable>]
    val CheckedEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly
    [<Obsolete; EditorBrowsable>]
    val UncheckedEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly
    [<Obsolete; EditorBrowsable>]
    val IndeterminateEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly
    val IsCheckedChangedEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly

    // events
    [<CLIEvent; Nullable; Obsolete; EditorBrowsable>]
    member Checked: EventHandler<RoutedEventArgs> // with add, remove
    [<CLIEvent; Nullable; Obsolete; EditorBrowsable>]
    member Unchecked: EventHandler<RoutedEventArgs> // with add, remove
    [<CLIEvent; Nullable; Obsolete; EditorBrowsable>]
    member Indeterminate: EventHandler<RoutedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member IsCheckedChanged: EventHandler<RoutedEventArgs> // with add, remove

    // properties
    member IsChecked: Nullable<Boolean> with get, set
    member IsThreeState: Boolean with get, set

CheckBox

base: ToggleButton <- Button <- ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia.Controls.Primitives

type CheckBox =
    inherit ToggleButton

    // constructors
    new: () -> CheckBox

RadioButton

base: ToggleButton <- Button <- ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Primitives
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type RadioButton =
    inherit ToggleButton

    // constructors
    new: () -> RadioButton

    // static initonly fields
    [<Nullable>]
    val GroupNameProperty: StyledProperty<String> // static, C# readonly

    // properties
    [<Nullable>]
    member GroupName: String with get, set

ToggleSwitch

base: ToggleButton <- Button <- ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Animation
open Avalonia.Controls.Metadata
open Avalonia.Controls.Presenters
open Avalonia.Controls.Primitives
open Avalonia.Controls.Templates
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; TemplatePart; TemplatePart; TemplatePart; TemplatePart; PseudoClasses>]
type ToggleSwitch =
    inherit ToggleButton

    // constructors
    new: () -> ToggleSwitch

    // static initonly fields
    [<Nullable>]
    val OffContentProperty: StyledProperty<Object> // static, C# readonly
    [<Nullable>]
    val OffContentTemplateProperty: StyledProperty<IDataTemplate> // static, C# readonly
    [<Nullable>]
    val OnContentProperty: StyledProperty<Object> // static, C# readonly
    [<Nullable>]
    val OnContentTemplateProperty: StyledProperty<IDataTemplate> // static, C# readonly
    [<Nullable>]
    val KnobTransitionsProperty: StyledProperty<Transitions> // static, C# readonly

    // properties
    member OnContent: Object with get, set
    member OffContent: Object with get, set
    member OffContentPresenter: ContentPresenter with get
    member OnContentPresenter: ContentPresenter with get
    member OffContentTemplate: IDataTemplate with get, set
    member OnContentTemplate: IDataTemplate with get, set
    [<Nullable>]
    member KnobTransitions: Transitions with get, set

DataGridCell

base: ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Metadata
open System

[<TemplatePart; PseudoClasses>]
type DataGridCell =
    inherit ContentControl

    // constructors
    new: () -> DataGridCell

    // static initonly fields
    val IsValidProperty: DirectProperty<DataGridCell, Boolean> // static, C# readonly

    // properties
    member IsValid: Boolean with get

DataGridColumnHeader

base: ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Metadata
open Avalonia.Media
open System

[<PseudoClasses>]
type DataGridColumnHeader =
    inherit ContentControl

    // constructors
    new: () -> DataGridColumnHeader

    // static initonly fields
    val SeparatorBrushProperty: StyledProperty<IBrush> // static, C# readonly
    val AreSeparatorsVisibleProperty: StyledProperty<Boolean> // static, C# readonly

    // properties
    member SeparatorBrush: IBrush with get, set
    member AreSeparatorsVisible: Boolean with get, set

DataValidationErrors

base: ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Metadata
open Avalonia.Controls.Templates
open System
open System.Collections.Generic
open System.Runtime.CompilerServices

[<NullableContext; Nullable; PseudoClasses>]
type DataValidationErrors =
    inherit ContentControl

    // constructors
    new: () -> DataValidationErrors

    // static initonly fields
    [<Nullable>]
    val ErrorsProperty: AttachedProperty<IEnumerable<Object>> // static, C# readonly
    val HasErrorsProperty: AttachedProperty<Boolean> // static, C# readonly
    val ErrorTemplateProperty: StyledProperty<IDataTemplate> // static, C# readonly
    [<Nullable>]
    val OwnerProperty: DirectProperty<DataValidationErrors, Control> // static, C# readonly

    // static methods
    static member GetErrors: (control:Control) -> IEnumerable<Object>
    static member SetErrors: (control:Control * errors:IEnumerable<Object>) -> Void
    static member SetError: (control:Control * error:Exception) -> Void
    static member ClearErrors: (control:Control) -> Void
    static member GetHasErrors: (control:Control) -> Boolean

    // properties
    [<Nullable>]
    member Owner: Control with get, set
    member ErrorTemplate: IDataTemplate with get, set

FlyoutPresenter

base: ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls


type FlyoutPresenter =
    inherit ContentControl

    // constructors
    new: () -> FlyoutPresenter

Label

base: ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Input
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type Label =
    inherit ContentControl

    // constructors
    new: () -> Label

    // static initonly fields
    [<Nullable>]
    val TargetProperty: StyledProperty<IInputElement> // static, C# readonly

    // properties
    [<Nullable; ResolveByName>]
    member Target: IInputElement with get, set

ListBoxItem

base: ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: ComboBoxItem, TabStripItem

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Metadata
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; PseudoClasses>]
type ListBoxItem =
    inherit ContentControl

    // constructors
    new: () -> ListBoxItem

    // static initonly fields
    val IsSelectedProperty: StyledProperty<Boolean> // static, C# readonly

    // properties
    member IsSelected: Boolean with get, set

ComboBoxItem

base: ListBoxItem <- ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls


type ComboBoxItem =
    inherit ListBoxItem

    // constructors
    new: () -> ComboBoxItem

TabStripItem

base: ListBoxItem <- ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Primitives

open Avalonia.Controls

type TabStripItem =
    inherit ListBoxItem

    // constructors
    new: () -> TabStripItem

RefreshContainer

base: ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Input
open Avalonia.Interactivity
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type RefreshContainer =
    inherit ContentControl

    // constructors
    new: () -> RefreshContainer

    // static initonly fields
    [<Nullable>]
    val RefreshRequestedEvent: RoutedEvent<RefreshRequestedEventArgs> // static, C# readonly
    [<Nullable>]
    val VisualizerProperty: DirectProperty<RefreshContainer, RefreshVisualizer> // static, C# readonly
    [<Nullable>]
    val PullDirectionProperty: StyledProperty<PullDirection> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member RefreshRequested: EventHandler<RefreshRequestedEventArgs> // with add, remove

    // properties
    member Visualizer: RefreshVisualizer with get, set
    member PullDirection: PullDirection with get, set

    // methods
    member RequestRefresh: () -> Void

RefreshVisualizer

base: ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Interactivity
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type RefreshVisualizer =
    inherit ContentControl

    // constructors
    new: () -> RefreshVisualizer

    // static initonly fields
    [<Nullable>]
    val RefreshRequestedEvent: RoutedEvent<RefreshRequestedEventArgs> // static, C# readonly
    [<Nullable>]
    val RefreshVisualizerStateProperty: DirectProperty<RefreshVisualizer, RefreshVisualizerState> // static, C# readonly
    [<Nullable>]
    val OrientationProperty: DirectProperty<RefreshVisualizer, RefreshVisualizerOrientation> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member RefreshRequested: EventHandler<RefreshRequestedEventArgs> // with add, remove

    // properties
    member Orientation: RefreshVisualizerOrientation with get, set

    // methods
    member RequestRefresh: () -> Void

ScrollViewer

base: ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Metadata
open Avalonia.Controls.Primitives
open Avalonia.Interactivity
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; TemplatePart; TemplatePart>]
type ScrollViewer =
    inherit ContentControl

    // constructors
    new: () -> ScrollViewer

    // static initonly fields
    val BringIntoViewOnFocusChangeProperty: AttachedProperty<Boolean> // static, C# readonly
    val ExtentProperty: DirectProperty<ScrollViewer, Size> // static, C# readonly
    val OffsetProperty: StyledProperty<Vector> // static, C# readonly
    val ViewportProperty: DirectProperty<ScrollViewer, Size> // static, C# readonly
    val LargeChangeProperty: DirectProperty<ScrollViewer, Size> // static, C# readonly
    val SmallChangeProperty: DirectProperty<ScrollViewer, Size> // static, C# readonly
    val ScrollBarMaximumProperty: DirectProperty<ScrollViewer, Vector> // static, C# readonly
    val HorizontalScrollBarVisibilityProperty: AttachedProperty<ScrollBarVisibility> // static, C# readonly
    val HorizontalSnapPointsTypeProperty: AttachedProperty<SnapPointsType> // static, C# readonly
    val VerticalSnapPointsTypeProperty: AttachedProperty<SnapPointsType> // static, C# readonly
    val HorizontalSnapPointsAlignmentProperty: AttachedProperty<SnapPointsAlignment> // static, C# readonly
    val VerticalSnapPointsAlignmentProperty: AttachedProperty<SnapPointsAlignment> // static, C# readonly
    val VerticalScrollBarVisibilityProperty: AttachedProperty<ScrollBarVisibility> // static, C# readonly
    val IsExpandedProperty: DirectProperty<ScrollViewer, Boolean> // static, C# readonly
    val AllowAutoHideProperty: AttachedProperty<Boolean> // static, C# readonly
    val IsScrollChainingEnabledProperty: AttachedProperty<Boolean> // static, C# readonly
    val IsScrollInertiaEnabledProperty: AttachedProperty<Boolean> // static, C# readonly
    val ScrollChangedEvent: RoutedEvent<ScrollChangedEventArgs> // static, C# readonly

    // static methods
    static member GetBringIntoViewOnFocusChange: (control:Control) -> Boolean
    static member SetBringIntoViewOnFocusChange: (control:Control * value:Boolean) -> Void
    static member GetHorizontalScrollBarVisibility: (control:Control) -> ScrollBarVisibility
    static member SetHorizontalScrollBarVisibility: (control:Control * value:ScrollBarVisibility) -> Void
    static member GetHorizontalSnapPointsType: (control:Control) -> SnapPointsType
    static member SetHorizontalSnapPointsType: (control:Control * value:SnapPointsType) -> Void
    static member GetVerticalSnapPointsType: (control:Control) -> SnapPointsType
    static member SetVerticalSnapPointsType: (control:Control * value:SnapPointsType) -> Void
    static member GetHorizontalSnapPointsAlignment: (control:Control) -> SnapPointsAlignment
    static member SetHorizontalSnapPointsAlignment: (control:Control * value:SnapPointsAlignment) -> Void
    static member GetVerticalSnapPointsAlignment: (control:Control) -> SnapPointsAlignment
    static member SetVerticalSnapPointsAlignment: (control:Control * value:SnapPointsAlignment) -> Void
    static member GetVerticalScrollBarVisibility: (control:Control) -> ScrollBarVisibility
    static member SetAllowAutoHide: (control:Control * value:Boolean) -> Void
    static member GetAllowAutoHide: (control:Control) -> Boolean
    static member SetIsScrollChainingEnabled: (control:Control * value:Boolean) -> Void
    static member GetIsScrollChainingEnabled: (control:Control) -> Boolean
    static member SetVerticalScrollBarVisibility: (control:Control * value:ScrollBarVisibility) -> Void
    static member GetIsScrollInertiaEnabled: (control:Control) -> Boolean
    static member SetIsScrollInertiaEnabled: (control:Control * value:Boolean) -> Void

    // events
    [<CLIEvent; Nullable>]
    member ScrollChanged: EventHandler<ScrollChangedEventArgs> // with add, remove

    // readonly properties
    member LargeChange: Size with get
    member SmallChange: Size with get
    [<Nullable>]
    member CurrentAnchor: Control with get
    member ScrollBarMaximum: Vector with get

    // properties
    member BringIntoViewOnFocusChange: Boolean with get, set
    member Extent: Size with get
    member Offset: Vector with get, set
    member Viewport: Size with get
    member HorizontalScrollBarVisibility: ScrollBarVisibility with get, set
    member VerticalScrollBarVisibility: ScrollBarVisibility with get, set
    member IsExpanded: Boolean with get
    member HorizontalSnapPointsType: SnapPointsType with get, set
    member VerticalSnapPointsType: SnapPointsType with get, set
    member HorizontalSnapPointsAlignment: SnapPointsAlignment with get, set
    member VerticalSnapPointsAlignment: SnapPointsAlignment with get, set
    member AllowAutoHide: Boolean with get, set
    member IsScrollChainingEnabled: Boolean with get, set
    member IsScrollInertiaEnabled: Boolean with get, set

    // methods
    member LineUp: () -> Void
    member LineDown: () -> Void
    member LineLeft: () -> Void
    member LineRight: () -> Void
    member PageUp: () -> Void
    member PageDown: () -> Void
    member PageLeft: () -> Void
    member PageRight: () -> Void
    member ScrollToHome: () -> Void
    member ScrollToEnd: () -> Void
    member RegisterAnchorCandidate: (element:Control) -> Void
    member UnregisterAnchorCandidate: (element:Control) -> Void

Spinner

base: ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: ButtonSpinner

namespace Avalonia.Controls

open Avalonia
open Avalonia.Interactivity
open System
open System.Runtime.CompilerServices

[<AbstractClass; NullableContext; Nullable>]
type Spinner =
    inherit ContentControl

    // static initonly fields
    val ValidSpinDirectionProperty: StyledProperty<ValidSpinDirections> // static, C# readonly
    val SpinEvent: RoutedEvent<SpinEventArgs> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member Spin: EventHandler<SpinEventArgs> // with add, remove

    // properties
    member ValidSpinDirection: ValidSpinDirections with get, set

ButtonSpinner

base: Spinner <- ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Metadata
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; TemplatePart; TemplatePart; PseudoClasses>]
type ButtonSpinner =
    inherit Spinner

    // constructors
    new: () -> ButtonSpinner

    // static initonly fields
    val AllowSpinProperty: StyledProperty<Boolean> // static, C# readonly
    val ShowButtonSpinnerProperty: StyledProperty<Boolean> // static, C# readonly
    val ButtonSpinnerLocationProperty: StyledProperty<Location> // static, C# readonly

    // properties
    member AllowSpin: Boolean with get, set
    member ShowButtonSpinner: Boolean with get, set
    member ButtonSpinnerLocation: Location with get, set

SplitButton

base: ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: ToggleSplitButton

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Metadata
open Avalonia.Controls.Primitives
open Avalonia.Interactivity
open System
open System.Runtime.CompilerServices
open System.Windows.Input

[<NullableContext; Nullable; TemplatePart; TemplatePart; PseudoClasses>]
type SplitButton =
    inherit ContentControl

    // constructors
    new: () -> SplitButton

    // static initonly fields
    val ClickEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly
    [<Nullable>]
    val CommandProperty: StyledProperty<ICommand> // static, C# readonly
    [<Nullable>]
    val CommandParameterProperty: StyledProperty<Object> // static, C# readonly
    [<Nullable>]
    val FlyoutProperty: StyledProperty<FlyoutBase> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member Click: EventHandler<RoutedEventArgs> // with add, remove

    // properties
    [<Nullable>]
    member Command: ICommand with get, set
    [<Nullable>]
    member CommandParameter: Object with get, set
    [<Nullable>]
    member Flyout: FlyoutBase with get, set

ToggleSplitButton

base: SplitButton <- ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Metadata
open Avalonia.Interactivity
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; PseudoClasses>]
type ToggleSplitButton =
    inherit SplitButton

    // constructors
    new: () -> ToggleSplitButton

    // static initonly fields
    val IsCheckedChangedEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly
    val IsCheckedProperty: StyledProperty<Boolean> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member IsCheckedChanged: EventHandler<RoutedEventArgs> // with add, remove

    // properties
    member IsChecked: Boolean with get, set

SplitView

base: ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Metadata
open Avalonia.Controls.Primitives
open Avalonia.Controls.Templates
open Avalonia.Interactivity
open Avalonia.Media
open Avalonia.Metadata
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; TemplatePart; PseudoClasses; PseudoClasses; PseudoClasses; PseudoClasses>]
type SplitView =
    inherit ContentControl

    // constructors
    new: () -> SplitView

    // static initonly fields
    val CompactPaneLengthProperty: StyledProperty<Double> // static, C# readonly
    val DisplayModeProperty: StyledProperty<SplitViewDisplayMode> // static, C# readonly
    val IsPaneOpenProperty: StyledProperty<Boolean> // static, C# readonly
    val OpenPaneLengthProperty: StyledProperty<Double> // static, C# readonly
    [<Nullable>]
    val PaneBackgroundProperty: StyledProperty<IBrush> // static, C# readonly
    val PanePlacementProperty: StyledProperty<SplitViewPanePlacement> // static, C# readonly
    [<Nullable>]
    val PaneProperty: StyledProperty<Object> // static, C# readonly
    val PaneTemplateProperty: StyledProperty<IDataTemplate> // static, C# readonly
    val UseLightDismissOverlayModeProperty: StyledProperty<Boolean> // static, C# readonly
    val TemplateSettingsProperty: DirectProperty<SplitView, SplitViewTemplateSettings> // static, C# readonly
    val PaneClosedEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly
    val PaneClosingEvent: RoutedEvent<CancelRoutedEventArgs> // static, C# readonly
    val PaneOpenedEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly
    val PaneOpeningEvent: RoutedEvent<CancelRoutedEventArgs> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member PaneClosed: EventHandler<RoutedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member PaneClosing: EventHandler<CancelRoutedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member PaneOpened: EventHandler<RoutedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member PaneOpening: EventHandler<CancelRoutedEventArgs> // with add, remove

    // properties
    member CompactPaneLength: Double with get, set
    member DisplayMode: SplitViewDisplayMode with get, set
    member IsPaneOpen: Boolean with get, set
    member OpenPaneLength: Double with get, set
    [<Nullable>]
    member PaneBackground: IBrush with get, set
    member PanePlacement: SplitViewPanePlacement with get, set
    [<Nullable; DependsOn>]
    member Pane: Object with get, set
    member PaneTemplate: IDataTemplate with get, set
    member UseLightDismissOverlayMode: Boolean with get, set
    member TemplateSettings: SplitViewTemplateSettings with get

ToolTip

base: ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Metadata
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; PseudoClasses>]
type ToolTip =
    inherit ContentControl

    // constructors
    new: () -> ToolTip

    // static initonly fields
    [<Nullable>]
    val TipProperty: AttachedProperty<Object> // static, C# readonly
    val IsOpenProperty: AttachedProperty<Boolean> // static, C# readonly
    val PlacementProperty: AttachedProperty<PlacementMode> // static, C# readonly
    val HorizontalOffsetProperty: AttachedProperty<Double> // static, C# readonly
    val VerticalOffsetProperty: AttachedProperty<Double> // static, C# readonly
    val ShowDelayProperty: AttachedProperty<Int32> // static, C# readonly

    // static methods
    static member GetTip: (element:Control) -> Object
    static member SetTip: (element:Control * value:Object) -> Void
    static member GetIsOpen: (element:Control) -> Boolean
    static member SetIsOpen: (element:Control * value:Boolean) -> Void
    static member GetPlacement: (element:Control) -> PlacementMode
    static member SetPlacement: (element:Control * value:PlacementMode) -> Void
    static member GetHorizontalOffset: (element:Control) -> Double
    static member SetHorizontalOffset: (element:Control * value:Double) -> Void
    static member GetVerticalOffset: (element:Control) -> Double
    static member SetVerticalOffset: (element:Control * value:Double) -> Void
    static member GetShowDelay: (element:Control) -> Int32
    static member SetShowDelay: (element:Control * value:Int32) -> Void

TopLevel

base: ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: WindowBase, EmbeddableControlRoot

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Metadata
open Avalonia.Controls.Platform
open Avalonia.Input
open Avalonia.Input.Platform
open Avalonia.Interactivity
open Avalonia.Media
open Avalonia.Platform
open Avalonia.Platform.Storage
open Avalonia.Rendering
open Avalonia.Styling
open System
open System.Collections.Generic
open System.Runtime.CompilerServices
open System.Threading.Tasks

[<AbstractClass; NullableContext; Nullable; TemplatePart>]
type TopLevel =
    inherit ContentControl

    // constructors
    new: (impl:ITopLevelImpl) -> TopLevel
    new: (impl:ITopLevelImpl * dependencyResolver:IAvaloniaDependencyResolver) -> TopLevel

    // static initonly fields
    val ClientSizeProperty: DirectProperty<TopLevel, Size> // static, C# readonly
    val FrameSizeProperty: DirectProperty<TopLevel, Nullable<Size>> // static, C# readonly
    [<Nullable>]
    val PointerOverElementProperty: StyledProperty<IInputElement> // static, C# readonly
    val TransparencyLevelHintProperty: StyledProperty<IReadOnlyList<WindowTransparencyLevel>> // static, C# readonly
    val ActualTransparencyLevelProperty: DirectProperty<TopLevel, WindowTransparencyLevel> // static, C# readonly
    val TransparencyBackgroundFallbackProperty: StyledProperty<IBrush> // static, C# readonly
    val ActualThemeVariantProperty: StyledProperty<ThemeVariant> // static, C# readonly
    [<Nullable>]
    val RequestedThemeVariantProperty: StyledProperty<ThemeVariant> // static, C# readonly
    [<Nullable>]
    val SystemBarColorProperty: AttachedProperty<SolidColorBrush> // static, C# readonly
    val BackRequestedEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly

    // static methods
    static member SetSystemBarColor: (control:Control * color:SolidColorBrush) -> Void
    static member GetSystemBarColor: (control:Control) -> SolidColorBrush
    [<NullableContext>]
    static member GetTopLevel: (visual:Visual) -> TopLevel

    // events
    [<CLIEvent; Nullable>]
    member Opened: EventHandler // with add, remove
    [<CLIEvent; Nullable>]
    member Closed: EventHandler // with add, remove
    [<CLIEvent; Nullable>]
    member ScalingChanged: EventHandler // with add, remove
    [<CLIEvent>]
    member BackRequested: EventHandler<RoutedEventArgs> // with add, remove

    // readonly properties
    member RendererDiagnostics: RendererDiagnostics with get
    member RenderScaling: Double with get
    member StorageProvider: IStorageProvider with get
    [<Nullable>]
    member InsetsManager: IInsetsManager with get
    [<Nullable>]
    member Clipboard: IClipboard with get
    [<Nullable>]
    member FocusManager: IFocusManager with get
    [<Nullable>]
    member PlatformSettings: IPlatformSettings with get

    // properties
    member ClientSize: Size with get
    member FrameSize: Nullable<Size> with get
    member TransparencyLevelHint: IReadOnlyList<WindowTransparencyLevel> with get, set
    member ActualTransparencyLevel: WindowTransparencyLevel with get
    member TransparencyBackgroundFallback: IBrush with get, set
    [<Nullable>]
    member RequestedThemeVariant: ThemeVariant with get, set
    [<Nullable>]
    member PlatformImpl: ITopLevelImpl with get

    // methods
    [<NullableContext>]
    member TryGetPlatformHandle: () -> IPlatformHandle
    [<AsyncStateMachine>]
    member RequestPlatformInhibition: (type:PlatformInhibitionType * reason:String) -> Task<IDisposable>
    member RequestAnimationFrame: (action:Action<TimeSpan>) -> Void

WindowBase

base: TopLevel <- ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: Window, PopupRoot

namespace Avalonia.Controls

open Avalonia
open Avalonia.Platform
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type WindowBase =
    inherit TopLevel

    // constructors
    new: (impl:IWindowBaseImpl) -> WindowBase
    new: (impl:IWindowBaseImpl * dependencyResolver:IAvaloniaDependencyResolver) -> WindowBase

    // static initonly fields
    val IsActiveProperty: DirectProperty<WindowBase, Boolean> // static, C# readonly
    [<Nullable>]
    val OwnerProperty: DirectProperty<WindowBase, WindowBase> // static, C# readonly
    val TopmostProperty: StyledProperty<Boolean> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member Activated: EventHandler // with add, remove
    [<CLIEvent; Nullable>]
    member Deactivated: EventHandler // with add, remove
    [<CLIEvent; Nullable>]
    member PositionChanged: EventHandler<PixelPointEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member Resized: EventHandler<WindowResizedEventArgs> // with add, remove

    // readonly properties
    [<Nullable>]
    member PlatformImpl: IWindowBaseImpl with get
    member Screens: Screens with get
    member DesktopScaling: Double with get

    // properties
    member IsActive: Boolean with get
    [<Nullable>]
    member Owner: WindowBase with get
    member Topmost: Boolean with get, set

    // methods
    member Activate: () -> Void
    member Hide: () -> Void
    member Show: () -> Void

Window

base: WindowBase <- TopLevel <- ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Input
open Avalonia.Interactivity
open Avalonia.Platform
open System
open System.Collections.Generic
open System.Runtime.CompilerServices
open System.Threading.Tasks

[<NullableContext; Nullable>]
type Window =
    inherit WindowBase

    // constructors
    new: () -> Window
    new: (impl:IWindowImpl) -> Window

    // static initonly fields
    val SizeToContentProperty: StyledProperty<SizeToContent> // static, C# readonly
    val ExtendClientAreaToDecorationsHintProperty: StyledProperty<Boolean> // static, C# readonly
    val ExtendClientAreaChromeHintsProperty: StyledProperty<ExtendClientAreaChromeHints> // static, C# readonly
    val ExtendClientAreaTitleBarHeightHintProperty: StyledProperty<Double> // static, C# readonly
    val IsExtendedIntoWindowDecorationsProperty: DirectProperty<Window, Boolean> // static, C# readonly
    val WindowDecorationMarginProperty: DirectProperty<Window, Thickness> // static, C# readonly
    val OffScreenMarginProperty: DirectProperty<Window, Thickness> // static, C# readonly
    val SystemDecorationsProperty: StyledProperty<SystemDecorations> // static, C# readonly
    val ShowActivatedProperty: StyledProperty<Boolean> // static, C# readonly
    val ShowInTaskbarProperty: StyledProperty<Boolean> // static, C# readonly
    val WindowStateProperty: StyledProperty<WindowState> // static, C# readonly
    [<Nullable>]
    val TitleProperty: StyledProperty<String> // static, C# readonly
    [<Nullable>]
    val IconProperty: StyledProperty<WindowIcon> // static, C# readonly
    val WindowStartupLocationProperty: StyledProperty<WindowStartupLocation> // static, C# readonly
    val CanResizeProperty: StyledProperty<Boolean> // static, C# readonly
    val WindowClosedEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly
    val WindowOpenedEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member Closing: EventHandler<WindowClosingEventArgs> // with add, remove

    // readonly properties
    [<Nullable>]
    member PlatformImpl: IWindowImpl with get
    member OwnedWindows: IReadOnlyList<Window> with get

    // properties
    member SizeToContent: SizeToContent with get, set
    [<Nullable>]
    member Title: String with get, set
    member ExtendClientAreaToDecorationsHint: Boolean with get, set
    member ExtendClientAreaChromeHints: ExtendClientAreaChromeHints with get, set
    member ExtendClientAreaTitleBarHeightHint: Double with get, set
    member IsExtendedIntoWindowDecorations: Boolean with get
    member WindowDecorationMargin: Thickness with get
    member OffScreenMargin: Thickness with get
    member SystemDecorations: SystemDecorations with get, set
    member ShowActivated: Boolean with get, set
    member ShowInTaskbar: Boolean with get, set
    member WindowState: WindowState with get, set
    member CanResize: Boolean with get, set
    [<Nullable>]
    member Icon: WindowIcon with get, set
    member WindowStartupLocation: WindowStartupLocation with get, set
    member Position: PixelPoint with get, set

    // methods
    member BeginMoveDrag: (e:PointerPressedEventArgs) -> Void
    member BeginResizeDrag: (edge:WindowEdge * e:PointerPressedEventArgs) -> Void
    member Close: () -> Void
    [<NullableContext>]
    member Close: (dialogResult:Object) -> Void
    member Hide: () -> Void
    member Show: () -> Void
    member Show: (owner:Window) -> Void
    member ShowDialog: (owner:Window) -> Task
    member ShowDialog: (owner:Window) -> Task<'TResult>

PopupRoot

base: WindowBase <- TopLevel <- ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Primitives

open Avalonia
open Avalonia.Controls
open Avalonia.Controls.Primitives.PopupPositioning
open Avalonia.Media
open Avalonia.Platform
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type PopupRoot =
    inherit WindowBase

    // constructors
    [<NullableContext>]
    new: (parent:TopLevel * impl:IPopupImpl) -> PopupRoot
    [<NullableContext>]
    new: (parent:TopLevel * impl:IPopupImpl * dependencyResolver:IAvaloniaDependencyResolver) -> PopupRoot

    // static initonly fields
    [<Nullable>]
    val TransformProperty: StyledProperty<Transform> // static, C# readonly

    // readonly properties
    member PlatformImpl: IPopupImpl with get
    [<Nullable>]
    member ParentTopLevel: TopLevel with get

    // properties
    member Transform: Transform with get, set

    // methods
    member Dispose: () -> Void
    [<NullableContext>]
    member ConfigurePosition: (target:Visual * placement:PlacementMode * offset:Point * anchor:PopupAnchor * gravity:PopupGravity * constraintAdjustment:PopupPositionerConstraintAdjustment * rect:Nullable<Rect>) -> Void
    member SetChild: (control:Control) -> Void

EmbeddableControlRoot

base: TopLevel <- ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Embedding

open Avalonia.Controls
open Avalonia.Platform
open System
open System.Runtime.CompilerServices

type EmbeddableControlRoot =
    inherit TopLevel

    // constructors
    [<NullableContext>]
    new: (impl:ITopLevelImpl) -> EmbeddableControlRoot
    new: () -> EmbeddableControlRoot

    // methods
    member Prepare: () -> Void
    member StartRendering: () -> Void
    member StopRendering: () -> Void
    member Dispose: () -> Void

TransitioningContentControl

base: ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Animation
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type TransitioningContentControl =
    inherit ContentControl

    // constructors
    new: () -> TransitioningContentControl

    // static initonly fields
    [<Nullable>]
    val PageTransitionProperty: StyledProperty<IPageTransition> // static, C# readonly

    // properties
    member PageTransition: IPageTransition with get, set

UserControl

base: ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls


type UserControl =
    inherit ContentControl

    // constructors
    new: () -> UserControl

NotificationCard

base: ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Notifications

open Avalonia
open Avalonia.Controls
open Avalonia.Controls.Metadata
open Avalonia.Interactivity
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; PseudoClasses>]
type NotificationCard =
    inherit ContentControl

    // constructors
    new: () -> NotificationCard

    // static initonly fields
    val IsClosingProperty: DirectProperty<NotificationCard, Boolean> // static, C# readonly
    val IsClosedProperty: StyledProperty<Boolean> // static, C# readonly
    val NotificationClosedEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly
    val CloseOnClickProperty: AttachedProperty<Boolean> // static, C# readonly

    // static methods
    static member GetCloseOnClick: (obj:Button) -> Boolean
    static member SetCloseOnClick: (obj:Button * value:Boolean) -> Void

    // events
    [<CLIEvent; Nullable>]
    member NotificationClosed: EventHandler<RoutedEventArgs> // with add, remove

    // properties
    member IsClosing: Boolean with get
    member IsClosed: Boolean with get, set

    // methods
    member Close: () -> Void

DataGridRowHeader

base: ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Primitives

open Avalonia
open Avalonia.Controls
open Avalonia.Controls.Metadata
open Avalonia.Media
open System

[<TemplatePart; PseudoClasses>]
type DataGridRowHeader =
    inherit ContentControl

    // constructors
    new: () -> DataGridRowHeader

    // static initonly fields
    val SeparatorBrushProperty: StyledProperty<IBrush> // static, C# readonly
    val AreSeparatorsVisibleProperty: StyledProperty<Boolean> // static, C# readonly

    // properties
    member SeparatorBrush: IBrush with get, set
    member AreSeparatorsVisible: Boolean with get, set

HeaderedContentControl

base: ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: Expander, TabItem

namespace Avalonia.Controls.Primitives

open Avalonia
open Avalonia.Controls
open Avalonia.Controls.Presenters
open Avalonia.Controls.Templates
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type HeaderedContentControl =
    inherit ContentControl

    // constructors
    new: () -> HeaderedContentControl

    // static initonly fields
    [<Nullable>]
    val HeaderProperty: StyledProperty<Object> // static, C# readonly
    [<Nullable>]
    val HeaderTemplateProperty: StyledProperty<IDataTemplate> // static, C# readonly

    // properties
    member Header: Object with get, set
    member HeaderPresenter: ContentPresenter with get
    member HeaderTemplate: IDataTemplate with get, set

Expander

base: HeaderedContentControl <- ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Animation
open Avalonia.Controls.Metadata
open Avalonia.Controls.Primitives
open Avalonia.Interactivity
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; PseudoClasses>]
type Expander =
    inherit HeaderedContentControl

    // constructors
    new: () -> Expander

    // static initonly fields
    [<Nullable>]
    val ContentTransitionProperty: StyledProperty<IPageTransition> // static, C# readonly
    val ExpandDirectionProperty: StyledProperty<ExpandDirection> // static, C# readonly
    val IsExpandedProperty: StyledProperty<Boolean> // static, C# readonly
    val CollapsedEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly
    val CollapsingEvent: RoutedEvent<CancelRoutedEventArgs> // static, C# readonly
    val ExpandedEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly
    val ExpandingEvent: RoutedEvent<CancelRoutedEventArgs> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member Collapsed: EventHandler<RoutedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member Collapsing: EventHandler<CancelRoutedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member Expanded: EventHandler<RoutedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member Expanding: EventHandler<CancelRoutedEventArgs> // with add, remove

    // properties
    [<Nullable>]
    member ContentTransition: IPageTransition with get, set
    member ExpandDirection: ExpandDirection with get, set
    member IsExpanded: Boolean with get, set

TabItem

base: HeaderedContentControl <- ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Metadata
open Avalonia.Controls.Primitives
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; PseudoClasses>]
type TabItem =
    inherit HeaderedContentControl

    // constructors
    new: () -> TabItem

    // static initonly fields
    val TabStripPlacementProperty: DirectProperty<TabItem, Nullable<Dock>> // static, C# readonly
    val IsSelectedProperty: StyledProperty<Boolean> // static, C# readonly

    // properties
    member TabStripPlacement: Nullable<Dock> with get
    member IsSelected: Boolean with get, set

OverlayPopupHost

base: ContentControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Primitives

open Avalonia
open Avalonia.Controls
open Avalonia.Controls.Primitives.PopupPositioning
open Avalonia.Media
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type OverlayPopupHost =
    inherit ContentControl

    // constructors
    [<NullableContext>]
    new: (overlayLayer:OverlayLayer) -> OverlayPopupHost

    // static initonly fields
    [<Nullable>]
    val TransformProperty: StyledProperty<Transform> // static, C# readonly

    // static methods
    [<NullableContext>]
    static member CreatePopupHost: (target:Visual * dependencyResolver:IAvaloniaDependencyResolver) -> IPopupHost

    // readonly properties
    member HostedVisualTreeRoot: Visual with get

    // properties
    member Transform: Transform with get, set

    // methods
    member SetChild: (control:Control) -> Void
    member Dispose: () -> Void
    member Show: () -> Void
    member Hide: () -> Void
    [<NullableContext>]
    member ConfigurePosition: (target:Visual * placement:PlacementMode * offset:Point * anchor:PopupAnchor * gravity:PopupGravity * constraintAdjustment:PopupPositionerConstraintAdjustment * rect:Nullable<Rect>) -> Void

DataGrid

base: TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Collections
open Avalonia.Controls.Metadata
open Avalonia.Controls.Primitives
open Avalonia.Controls.Templates
open Avalonia.Interactivity
open Avalonia.Media
open Avalonia.Styling
open System
open System.Collections
open System.Collections.ObjectModel

[<TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; PseudoClasses>]
type DataGrid =
    inherit TemplatedControl

    // constructors
    new: () -> DataGrid

    // static initonly fields
    val CanUserReorderColumnsProperty: StyledProperty<Boolean> // static, C# readonly
    val CanUserResizeColumnsProperty: StyledProperty<Boolean> // static, C# readonly
    val CanUserSortColumnsProperty: StyledProperty<Boolean> // static, C# readonly
    val ColumnHeaderHeightProperty: StyledProperty<Double> // static, C# readonly
    val ColumnWidthProperty: StyledProperty<DataGridLength> // static, C# readonly
    val RowThemeProperty: StyledProperty<ControlTheme> // static, C# readonly
    val CellThemeProperty: StyledProperty<ControlTheme> // static, C# readonly
    val ColumnHeaderThemeProperty: StyledProperty<ControlTheme> // static, C# readonly
    val RowGroupThemeProperty: StyledProperty<ControlTheme> // static, C# readonly
    val FrozenColumnCountProperty: StyledProperty<Int32> // static, C# readonly
    val GridLinesVisibilityProperty: StyledProperty<DataGridGridLinesVisibility> // static, C# readonly
    val HeadersVisibilityProperty: StyledProperty<DataGridHeadersVisibility> // static, C# readonly
    val HorizontalGridLinesBrushProperty: StyledProperty<IBrush> // static, C# readonly
    val HorizontalScrollBarVisibilityProperty: StyledProperty<ScrollBarVisibility> // static, C# readonly
    val IsReadOnlyProperty: StyledProperty<Boolean> // static, C# readonly
    val AreRowGroupHeadersFrozenProperty: StyledProperty<Boolean> // static, C# readonly
    val IsValidProperty: DirectProperty<DataGrid, Boolean> // static, C# readonly
    val MaxColumnWidthProperty: StyledProperty<Double> // static, C# readonly
    val MinColumnWidthProperty: StyledProperty<Double> // static, C# readonly
    val RowBackgroundProperty: StyledProperty<IBrush> // static, C# readonly
    val RowHeightProperty: StyledProperty<Double> // static, C# readonly
    val RowHeaderWidthProperty: StyledProperty<Double> // static, C# readonly
    val SelectionModeProperty: StyledProperty<DataGridSelectionMode> // static, C# readonly
    val VerticalGridLinesBrushProperty: StyledProperty<IBrush> // static, C# readonly
    val VerticalScrollBarVisibilityProperty: StyledProperty<ScrollBarVisibility> // static, C# readonly
    val DropLocationIndicatorTemplateProperty: StyledProperty<ITemplate<Control>> // static, C# readonly
    val SelectedIndexProperty: DirectProperty<DataGrid, Int32> // static, C# readonly
    val SelectedItemProperty: DirectProperty<DataGrid, Object> // static, C# readonly
    val ClipboardCopyModeProperty: StyledProperty<DataGridClipboardCopyMode> // static, C# readonly
    val AutoGenerateColumnsProperty: StyledProperty<Boolean> // static, C# readonly
    val ItemsSourceProperty: StyledProperty<IEnumerable> // static, C# readonly
    val AreRowDetailsFrozenProperty: StyledProperty<Boolean> // static, C# readonly
    val RowDetailsTemplateProperty: StyledProperty<IDataTemplate> // static, C# readonly
    val RowDetailsVisibilityModeProperty: StyledProperty<DataGridRowDetailsVisibilityMode> // static, C# readonly
    val SelectionChangedEvent: RoutedEvent<SelectionChangedEventArgs> // static, C# readonly

    // events
    [<CLIEvent>]
    member HorizontalScroll: EventHandler<ScrollEventArgs> // with add, remove
    [<CLIEvent>]
    member VerticalScroll: EventHandler<ScrollEventArgs> // with add, remove
    [<CLIEvent>]
    member AutoGeneratingColumn: EventHandler<DataGridAutoGeneratingColumnEventArgs> // with add, remove
    [<CLIEvent>]
    member BeginningEdit: EventHandler<DataGridBeginningEditEventArgs> // with add, remove
    [<CLIEvent>]
    member CellEditEnded: EventHandler<DataGridCellEditEndedEventArgs> // with add, remove
    [<CLIEvent>]
    member CellEditEnding: EventHandler<DataGridCellEditEndingEventArgs> // with add, remove
    [<CLIEvent>]
    member CellPointerPressed: EventHandler<DataGridCellPointerPressedEventArgs> // with add, remove
    [<CLIEvent>]
    member ColumnDisplayIndexChanged: EventHandler<DataGridColumnEventArgs> // with add, remove
    [<CLIEvent>]
    member ColumnReordered: EventHandler<DataGridColumnEventArgs> // with add, remove
    [<CLIEvent>]
    member ColumnReordering: EventHandler<DataGridColumnReorderingEventArgs> // with add, remove
    [<CLIEvent>]
    member CurrentCellChanged: EventHandler<EventArgs> // with add, remove
    [<CLIEvent>]
    member LoadingRow: EventHandler<DataGridRowEventArgs> // with add, remove
    [<CLIEvent>]
    member PreparingCellForEdit: EventHandler<DataGridPreparingCellForEditEventArgs> // with add, remove
    [<CLIEvent>]
    member RowEditEnded: EventHandler<DataGridRowEditEndedEventArgs> // with add, remove
    [<CLIEvent>]
    member RowEditEnding: EventHandler<DataGridRowEditEndingEventArgs> // with add, remove
    [<CLIEvent>]
    member SelectionChanged: EventHandler<SelectionChangedEventArgs> // with add, remove
    [<CLIEvent>]
    member Sorting: EventHandler<DataGridColumnEventArgs> // with add, remove
    [<CLIEvent>]
    member UnloadingRow: EventHandler<DataGridRowEventArgs> // with add, remove
    [<CLIEvent>]
    member LoadingRowDetails: EventHandler<DataGridRowDetailsEventArgs> // with add, remove
    [<CLIEvent>]
    member RowDetailsVisibilityChanged: EventHandler<DataGridRowDetailsEventArgs> // with add, remove
    [<CLIEvent>]
    member UnloadingRowDetails: EventHandler<DataGridRowDetailsEventArgs> // with add, remove
    [<CLIEvent>]
    member LoadingRowGroup: EventHandler<DataGridRowGroupHeaderEventArgs> // with add, remove
    [<CLIEvent>]
    member UnloadingRowGroup: EventHandler<DataGridRowGroupHeaderEventArgs> // with add, remove
    [<CLIEvent>]
    member CopyingRowClipboardContent: EventHandler<DataGridRowClipboardEventArgs> // with add, remove

    // readonly properties
    member Columns: ObservableCollection<DataGridColumn> with get
    member SelectedItems: IList with get

    // properties
    member CanUserReorderColumns: Boolean with get, set
    member CanUserResizeColumns: Boolean with get, set
    member CanUserSortColumns: Boolean with get, set
    member ColumnHeaderHeight: Double with get, set
    member RowTheme: ControlTheme with get, set
    member CellTheme: ControlTheme with get, set
    member ColumnHeaderTheme: ControlTheme with get, set
    member RowGroupTheme: ControlTheme with get, set
    member ColumnWidth: DataGridLength with get, set
    member FrozenColumnCount: Int32 with get, set
    member GridLinesVisibility: DataGridGridLinesVisibility with get, set
    member HeadersVisibility: DataGridHeadersVisibility with get, set
    member HorizontalGridLinesBrush: IBrush with get, set
    member HorizontalScrollBarVisibility: ScrollBarVisibility with get, set
    member IsReadOnly: Boolean with get, set
    member AreRowGroupHeadersFrozen: Boolean with get, set
    member IsValid: Boolean with get
    member MaxColumnWidth: Double with get, set
    member MinColumnWidth: Double with get, set
    member RowBackground: IBrush with get, set
    member RowHeight: Double with get, set
    member RowHeaderWidth: Double with get, set
    member SelectionMode: DataGridSelectionMode with get, set
    member VerticalGridLinesBrush: IBrush with get, set
    member VerticalScrollBarVisibility: ScrollBarVisibility with get, set
    member DropLocationIndicatorTemplate: ITemplate<Control> with get, set
    member SelectedIndex: Int32 with get, set
    member SelectedItem: Object with get, set
    member ClipboardCopyMode: DataGridClipboardCopyMode with get, set
    member AutoGenerateColumns: Boolean with get, set
    member ItemsSource: IEnumerable with get, set
    member AreRowDetailsFrozen: Boolean with get, set
    member RowDetailsTemplate: IDataTemplate with get, set
    member RowDetailsVisibilityMode: DataGridRowDetailsVisibilityMode with get, set
    member CurrentColumn: DataGridColumn with get, set

    // methods
    member CollapseRowGroup: (collectionViewGroup:DataGridCollectionViewGroup * collapseAllSubgroups:Boolean) -> Void
    member ExpandRowGroup: (collectionViewGroup:DataGridCollectionViewGroup * expandAllSubgroups:Boolean) -> Void
    member SelectAll: () -> Void
    member GetGroupFromItem: (item:Object * groupLevel:Int32) -> DataGridCollectionViewGroup
    member BeginEdit: () -> Boolean
    member BeginEdit: (editingEventArgs:RoutedEventArgs) -> Boolean
    member CancelEdit: () -> Boolean
    member CancelEdit: (editingUnit:DataGridEditingUnit) -> Boolean
    member CommitEdit: () -> Boolean
    member CommitEdit: (editingUnit:DataGridEditingUnit * exitEditingMode:Boolean) -> Boolean
    member ScrollIntoView: (item:Object * column:DataGridColumn) -> Void

DataGridRow

base: TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Metadata
open Avalonia.Controls.Primitives
open Avalonia.Controls.Templates
open System

[<TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; PseudoClasses>]
type DataGridRow =
    inherit TemplatedControl

    // constructors
    new: () -> DataGridRow

    // static initonly fields
    val HeaderProperty: StyledProperty<Object> // static, C# readonly
    val IsValidProperty: DirectProperty<DataGridRow, Boolean> // static, C# readonly
    val DetailsTemplateProperty: StyledProperty<IDataTemplate> // static, C# readonly
    val AreDetailsVisibleProperty: StyledProperty<Boolean> // static, C# readonly

    // static methods
    static member GetRowContainingElement: (element:Control) -> DataGridRow

    // properties
    member Header: Object with get, set
    member IsValid: Boolean with get
    member DetailsTemplate: IDataTemplate with get, set
    member AreDetailsVisible: Boolean with get, set

    // methods
    member GetIndex: () -> Int32

DataGridRowGroupHeader

base: TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Metadata
open Avalonia.Controls.Primitives
open System

[<TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; PseudoClasses>]
type DataGridRowGroupHeader =
    inherit TemplatedControl

    // constructors
    new: () -> DataGridRowGroupHeader

    // static initonly fields
    val IsItemCountVisibleProperty: StyledProperty<Boolean> // static, C# readonly
    val PropertyNameProperty: StyledProperty<String> // static, C# readonly
    val IsPropertyNameVisibleProperty: StyledProperty<Boolean> // static, C# readonly
    val SublevelIndentProperty: StyledProperty<Double> // static, C# readonly

    // properties
    member IsItemCountVisible: Boolean with get, set
    member PropertyName: String with get, set
    member IsPropertyNameVisible: Boolean with get, set
    member SublevelIndent: Double with get, set

DatePicker

base: TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Metadata
open Avalonia.Controls.Primitives
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; PseudoClasses>]
type DatePicker =
    inherit TemplatedControl

    // constructors
    new: () -> DatePicker

    // static initonly fields
    val DayFormatProperty: StyledProperty<String> // static, C# readonly
    val DayVisibleProperty: StyledProperty<Boolean> // static, C# readonly
    val MaxYearProperty: StyledProperty<DateTimeOffset> // static, C# readonly
    val MinYearProperty: StyledProperty<DateTimeOffset> // static, C# readonly
    val MonthFormatProperty: StyledProperty<String> // static, C# readonly
    val MonthVisibleProperty: StyledProperty<Boolean> // static, C# readonly
    val YearFormatProperty: StyledProperty<String> // static, C# readonly
    val YearVisibleProperty: StyledProperty<Boolean> // static, C# readonly
    val SelectedDateProperty: StyledProperty<Nullable<DateTimeOffset>> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member SelectedDateChanged: EventHandler<DatePickerSelectedValueChangedEventArgs> // with add, remove

    // properties
    member DayFormat: String with get, set
    member DayVisible: Boolean with get, set
    member MaxYear: DateTimeOffset with get, set
    member MinYear: DateTimeOffset with get, set
    member MonthFormat: String with get, set
    member MonthVisible: Boolean with get, set
    member YearFormat: String with get, set
    member YearVisible: Boolean with get, set
    member SelectedDate: Nullable<DateTimeOffset> with get, set

IconElement

base: TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: PathIcon

namespace Avalonia.Controls

open Avalonia.Controls.Primitives

[<AbstractClass>]
type IconElement =
    inherit TemplatedControl

PathIcon

base: IconElement <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Media
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type PathIcon =
    inherit IconElement

    // constructors
    new: () -> PathIcon

    // static initonly fields
    val DataProperty: StyledProperty<Geometry> // static, C# readonly

    // properties
    member Data: Geometry with get, set

ItemsControl

base: TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: TreeView, HeaderedItemsControl, SelectingItemsControl

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Generators
open Avalonia.Controls.Metadata
open Avalonia.Controls.Presenters
open Avalonia.Controls.Primitives
open Avalonia.Controls.Templates
open Avalonia.Data
open Avalonia.Metadata
open Avalonia.Styling
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.CompilerServices

[<NullableContext; Nullable; PseudoClasses>]
type ItemsControl =
    inherit TemplatedControl

    // constructors
    new: () -> ItemsControl

    // static initonly fields
    [<Nullable>]
    val ItemContainerThemeProperty: StyledProperty<ControlTheme> // static, C# readonly
    val ItemCountProperty: DirectProperty<ItemsControl, Int32> // static, C# readonly
    [<Nullable>]
    val ItemsPanelProperty: StyledProperty<ITemplate<Panel>> // static, C# readonly
    [<Nullable>]
    val ItemsSourceProperty: StyledProperty<IEnumerable> // static, C# readonly
    [<Nullable>]
    val ItemTemplateProperty: StyledProperty<IDataTemplate> // static, C# readonly
    [<Nullable>]
    val DisplayMemberBindingProperty: StyledProperty<IBinding> // static, C# readonly

    // static methods
    static member ItemsControlFromItemContaner: (container:Control) -> ItemsControl

    // events
    [<CLIEvent; Nullable>]
    member ContainerPrepared: EventHandler<ContainerPreparedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member ContainerIndexChanged: EventHandler<ContainerIndexChangedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member ContainerClearing: EventHandler<ContainerClearingEventArgs> // with add, remove

    // readonly properties
    member ItemContainerGenerator: ItemContainerGenerator with get
    [<Content>]
    member Items: ItemCollection with get
    [<Nullable>]
    member ItemsPanelRoot: Panel with get
    member ItemsView: ItemsSourceView with get

    // properties
    [<Nullable; AssignBinding; InheritDataTypeFromItems>]
    member DisplayMemberBinding: IBinding with get, set
    [<Nullable>]
    member ItemContainerTheme: ControlTheme with get, set
    member ItemCount: Int32 with get
    [<Nullable>]
    member ItemsPanel: ITemplate<Panel> with get, set
    [<Nullable>]
    member ItemsSource: IEnumerable with get, set
    [<Nullable; InheritDataTypeFromItems>]
    member ItemTemplate: IDataTemplate with get, set
    [<Nullable>]
    member Presenter: ItemsPresenter with get

    // methods
    [<NullableContext>]
    member ContainerFromIndex: (index:Int32) -> Control
    member ContainerFromItem: (item:Object) -> Control
    member IndexFromContainer: (container:Control) -> Int32
    member ItemFromContainer: (container:Control) -> Object
    member GetRealizedContainers: () -> IEnumerable<Control>

TreeView

base: ItemsControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Generators
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type TreeView =
    inherit ItemsControl

    // constructors
    new: () -> TreeView

    // static initonly fields
    val AutoScrollToSelectedItemProperty: StyledProperty<Boolean> // static, C# readonly
    [<Nullable>]
    val SelectedItemProperty: DirectProperty<TreeView, Object> // static, C# readonly
    val SelectedItemsProperty: DirectProperty<TreeView, IList> // static, C# readonly
    val SelectionModeProperty: StyledProperty<SelectionMode> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member SelectionChanged: EventHandler<SelectionChangedEventArgs> // with add, remove

    // readonly properties
    member ItemContainerGenerator: TreeItemContainerGenerator with get

    // properties
    member AutoScrollToSelectedItem: Boolean with get, set
    member SelectionMode: SelectionMode with get, set
    [<Nullable>]
    member SelectedItem: Object with get, set
    member SelectedItems: IList with get, set

    // methods
    member ExpandSubTree: (item:TreeViewItem) -> Void
    member CollapseSubTree: (item:TreeViewItem) -> Void
    member SelectAll: () -> Void
    member UnselectAll: () -> Void
    member GetRealizedTreeContainers: () -> IEnumerable<Control>
    member TreeContainerFromItem: (item:Object) -> Control
    member TreeItemFromContainer: (container:Control) -> Object

HeaderedItemsControl

base: ItemsControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: TreeViewItem

namespace Avalonia.Controls.Primitives

open Avalonia
open Avalonia.Controls
open Avalonia.Controls.Presenters
open Avalonia.Controls.Templates
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type HeaderedItemsControl =
    inherit ItemsControl

    // constructors
    new: () -> HeaderedItemsControl

    // static initonly fields
    [<Nullable>]
    val HeaderProperty: StyledProperty<Object> // static, C# readonly
    [<Nullable>]
    val HeaderTemplateProperty: StyledProperty<IDataTemplate> // static, C# readonly

    // properties
    member Header: Object with get, set
    member HeaderTemplate: IDataTemplate with get, set
    member HeaderPresenter: ContentPresenter with get

TreeViewItem

base: HeaderedItemsControl <- ItemsControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Metadata
open Avalonia.Controls.Primitives
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; TemplatePart; PseudoClasses>]
type TreeViewItem =
    inherit HeaderedItemsControl

    // constructors
    new: () -> TreeViewItem

    // static initonly fields
    val IsExpandedProperty: StyledProperty<Boolean> // static, C# readonly
    val IsSelectedProperty: StyledProperty<Boolean> // static, C# readonly
    val LevelProperty: DirectProperty<TreeViewItem, Int32> // static, C# readonly

    // properties
    member IsExpanded: Boolean with get, set
    member IsSelected: Boolean with get, set
    member Level: Int32 with get

SelectingItemsControl

base: ItemsControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: Carousel, ComboBox, ListBox, MenuBase, TabControl, HeaderedSelectingItemsControl, TabStrip

namespace Avalonia.Controls.Primitives

open Avalonia
open Avalonia.Controls
open Avalonia.Data
open Avalonia.Interactivity
open Avalonia.Metadata
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type SelectingItemsControl =
    inherit ItemsControl

    // constructors
    new: () -> SelectingItemsControl

    // static initonly fields
    val AutoScrollToSelectedItemProperty: StyledProperty<Boolean> // static, C# readonly
    val SelectedIndexProperty: DirectProperty<SelectingItemsControl, Int32> // static, C# readonly
    [<Nullable>]
    val SelectedItemProperty: DirectProperty<SelectingItemsControl, Object> // static, C# readonly
    [<Nullable>]
    val SelectedValueProperty: StyledProperty<Object> // static, C# readonly
    [<Nullable>]
    val SelectedValueBindingProperty: StyledProperty<IBinding> // static, C# readonly
    val IsSelectedProperty: StyledProperty<Boolean> // static, C# readonly
    val IsTextSearchEnabledProperty: StyledProperty<Boolean> // static, C# readonly
    val IsSelectedChangedEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly
    val SelectionChangedEvent: RoutedEvent<SelectionChangedEventArgs> // static, C# readonly
    val WrapSelectionProperty: StyledProperty<Boolean> // static, C# readonly

    // static methods
    static member GetIsSelected: (control:Control) -> Boolean
    static member SetIsSelected: (control:Control * value:Boolean) -> Void

    // events
    [<CLIEvent; Nullable>]
    member SelectionChanged: EventHandler<SelectionChangedEventArgs> // with add, remove

    // properties
    member AutoScrollToSelectedItem: Boolean with get, set
    member SelectedIndex: Int32 with get, set
    [<Nullable>]
    member SelectedItem: Object with get, set
    [<Nullable; AssignBinding; InheritDataTypeFromItems>]
    member SelectedValueBinding: IBinding with get, set
    [<Nullable>]
    member SelectedValue: Object with get, set
    member IsTextSearchEnabled: Boolean with get, set
    member WrapSelection: Boolean with get, set

    // methods
    member BeginInit: () -> Void
    member EndInit: () -> Void
    member ScrollIntoView: (index:Int32) -> Void
    member ScrollIntoView: (item:Object) -> Void

Carousel

base: SelectingItemsControl <- ItemsControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Animation
open Avalonia.Controls.Primitives
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type Carousel =
    inherit SelectingItemsControl

    // constructors
    new: () -> Carousel

    // static initonly fields
    [<Nullable>]
    val PageTransitionProperty: StyledProperty<IPageTransition> // static, C# readonly

    // properties
    member PageTransition: IPageTransition with get, set

    // methods
    member Next: () -> Void
    member Previous: () -> Void

ComboBox

base: SelectingItemsControl <- ItemsControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Metadata
open Avalonia.Controls.Primitives
open Avalonia.Layout
open Avalonia.Media
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; TemplatePart; PseudoClasses>]
type ComboBox =
    inherit SelectingItemsControl

    // constructors
    new: () -> ComboBox

    // static initonly fields
    [<Nullable>]
    val IsDropDownOpenProperty: StyledProperty<Boolean> // static, C# readonly
    [<Nullable>]
    val MaxDropDownHeightProperty: StyledProperty<Double> // static, C# readonly
    [<Nullable>]
    val SelectionBoxItemProperty: DirectProperty<ComboBox, Object> // static, C# readonly
    [<Nullable>]
    val PlaceholderTextProperty: StyledProperty<String> // static, C# readonly
    [<Nullable>]
    val PlaceholderForegroundProperty: StyledProperty<IBrush> // static, C# readonly
    [<Nullable>]
    val HorizontalContentAlignmentProperty: StyledProperty<HorizontalAlignment> // static, C# readonly
    [<Nullable>]
    val VerticalContentAlignmentProperty: StyledProperty<VerticalAlignment> // static, C# readonly

    // events
    [<CLIEvent>]
    member DropDownClosed: EventHandler // with add, remove
    [<CLIEvent>]
    member DropDownOpened: EventHandler // with add, remove

    // properties
    member IsDropDownOpen: Boolean with get, set
    member MaxDropDownHeight: Double with get, set
    member SelectionBoxItem: Object with get
    member PlaceholderText: String with get, set
    member PlaceholderForeground: IBrush with get, set
    member HorizontalContentAlignment: HorizontalAlignment with get, set
    member VerticalContentAlignment: VerticalAlignment with get, set

ListBox

base: SelectingItemsControl <- ItemsControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Metadata
open Avalonia.Controls.Primitives
open Avalonia.Controls.Selection
open System
open System.Collections
open System.Runtime.CompilerServices

[<NullableContext; Nullable; TemplatePart>]
type ListBox =
    inherit SelectingItemsControl

    // constructors
    new: () -> ListBox

    // static initonly fields
    [<Nullable>]
    val ScrollProperty: DirectProperty<ListBox, IScrollable> // static, C# readonly
    [<Nullable>]
    val SelectedItemsProperty: DirectProperty<SelectingItemsControl, IList> // static, C# readonly
    [<Nullable>]
    val SelectionProperty: DirectProperty<SelectingItemsControl, ISelectionModel> // static, C# readonly
    [<Nullable>]
    val SelectionModeProperty: StyledProperty<SelectionMode> // static, C# readonly

    // properties
    member Scroll: IScrollable with get
    member SelectedItems: IList with get, set
    [<Nullable>]
    member Selection: ISelectionModel with get, set
    member SelectionMode: SelectionMode with get, set

    // methods
    member SelectAll: () -> Void
    member UnselectAll: () -> Void

MenuBase

base: SelectingItemsControl <- ItemsControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: ContextMenu, Menu, MenuFlyoutPresenter

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Primitives
open Avalonia.Interactivity
open System
open System.Runtime.CompilerServices

[<AbstractClass; NullableContext; Nullable>]
type MenuBase =
    inherit SelectingItemsControl

    // static initonly fields
    val IsOpenProperty: DirectProperty<MenuBase, Boolean> // static, C# readonly
    val OpenedEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly
    val ClosedEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member Opened: EventHandler<RoutedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member Closed: EventHandler<RoutedEventArgs> // with add, remove

    // properties
    member IsOpen: Boolean with get

    // methods
    abstract member Close: () -> Void
    abstract member Open: () -> Void

ContextMenu

base: MenuBase <- SelectingItemsControl <- ItemsControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Platform
open Avalonia.Controls.Primitives.PopupPositioning
open System
open System.ComponentModel
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type ContextMenu =
    inherit MenuBase

    // constructors
    new: () -> ContextMenu
    new: (interactionHandler:IMenuInteractionHandler) -> ContextMenu

    // static initonly fields
    val HorizontalOffsetProperty: StyledProperty<Double> // static, C# readonly
    val VerticalOffsetProperty: StyledProperty<Double> // static, C# readonly
    val PlacementAnchorProperty: StyledProperty<PopupAnchor> // static, C# readonly
    val PlacementConstraintAdjustmentProperty: StyledProperty<PopupPositionerConstraintAdjustment> // static, C# readonly
    val PlacementGravityProperty: StyledProperty<PopupGravity> // static, C# readonly
    val PlacementProperty: StyledProperty<PlacementMode> // static, C# readonly
    [<Obsolete; EditorBrowsable>]
    val PlacementModeProperty: StyledProperty<PlacementMode> // static, C# readonly
    val PlacementRectProperty: StyledProperty<Nullable<Rect>> // static, C# readonly
    val WindowManagerAddShadowHintProperty: StyledProperty<Boolean> // static, C# readonly
    [<Nullable>]
    val PlacementTargetProperty: StyledProperty<Control> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member Opening: CancelEventHandler // with add, remove
    [<CLIEvent; Nullable>]
    member Closing: CancelEventHandler // with add, remove

    // properties
    member HorizontalOffset: Double with get, set
    member VerticalOffset: Double with get, set
    member PlacementAnchor: PopupAnchor with get, set
    member PlacementConstraintAdjustment: PopupPositionerConstraintAdjustment with get, set
    member PlacementGravity: PopupGravity with get, set
    [<Obsolete; EditorBrowsable>]
    member PlacementMode: PlacementMode with get, set
    member Placement: PlacementMode with get, set
    member WindowManagerAddShadowHint: Boolean with get, set
    member PlacementRect: Nullable<Rect> with get, set
    [<Nullable>]
    member PlacementTarget: Control with get, set

    // methods
    member Open: () -> Void
    [<NullableContext>]
    member Open: (control:Control) -> Void
    member Close: () -> Void

Menu

base: MenuBase <- SelectingItemsControl <- ItemsControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia.Controls.Platform
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type Menu =
    inherit MenuBase

    // constructors
    new: () -> Menu
    new: (interactionHandler:IMenuInteractionHandler) -> Menu

    // methods
    member Close: () -> Void
    member Open: () -> Void

MenuFlyoutPresenter

base: MenuBase <- SelectingItemsControl <- ItemsControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia.Controls.Platform
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type MenuFlyoutPresenter =
    inherit MenuBase

    // constructors
    new: () -> MenuFlyoutPresenter
    new: (menuInteractionHandler:IMenuInteractionHandler) -> MenuFlyoutPresenter

    // methods
    member Close: () -> Void
    member Open: () -> Void

TabControl

base: SelectingItemsControl <- ItemsControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Metadata
open Avalonia.Controls.Primitives
open Avalonia.Controls.Templates
open Avalonia.Layout
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; TemplatePart>]
type TabControl =
    inherit SelectingItemsControl

    // constructors
    new: () -> TabControl

    // static initonly fields
    [<Nullable>]
    val TabStripPlacementProperty: StyledProperty<Dock> // static, C# readonly
    [<Nullable>]
    val HorizontalContentAlignmentProperty: StyledProperty<HorizontalAlignment> // static, C# readonly
    [<Nullable>]
    val VerticalContentAlignmentProperty: StyledProperty<VerticalAlignment> // static, C# readonly
    [<Nullable>]
    val ContentTemplateProperty: StyledProperty<IDataTemplate> // static, C# readonly
    [<Nullable>]
    val SelectedContentProperty: DirectProperty<TabControl, Object> // static, C# readonly
    [<Nullable>]
    val SelectedContentTemplateProperty: DirectProperty<TabControl, IDataTemplate> // static, C# readonly

    // properties
    member HorizontalContentAlignment: HorizontalAlignment with get, set
    member VerticalContentAlignment: VerticalAlignment with get, set
    member TabStripPlacement: Dock with get, set
    member ContentTemplate: IDataTemplate with get, set
    member SelectedContent: Object with get
    member SelectedContentTemplate: IDataTemplate with get

HeaderedSelectingItemsControl

base: SelectingItemsControl <- ItemsControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: MenuItem

namespace Avalonia.Controls.Primitives

open Avalonia
open Avalonia.Controls.Presenters
open Avalonia.Controls.Templates
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type HeaderedSelectingItemsControl =
    inherit SelectingItemsControl

    // constructors
    new: () -> HeaderedSelectingItemsControl

    // static initonly fields
    [<Nullable>]
    val HeaderProperty: StyledProperty<Object> // static, C# readonly
    [<Nullable>]
    val HeaderTemplateProperty: StyledProperty<IDataTemplate> // static, C# readonly

    // properties
    member Header: Object with get, set
    member HeaderTemplate: IDataTemplate with get, set
    member HeaderPresenter: ContentPresenter with get

MenuItem

base: HeaderedSelectingItemsControl <- SelectingItemsControl <- ItemsControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Metadata
open Avalonia.Controls.Primitives
open Avalonia.Input
open Avalonia.Interactivity
open System
open System.Runtime.CompilerServices
open System.Windows.Input

[<NullableContext; Nullable; TemplatePart; PseudoClasses>]
type MenuItem =
    inherit HeaderedSelectingItemsControl

    // constructors
    new: () -> MenuItem

    // static initonly fields
    [<Nullable>]
    val CommandProperty: StyledProperty<ICommand> // static, C# readonly
    [<Nullable>]
    val HotKeyProperty: StyledProperty<KeyGesture> // static, C# readonly
    [<Nullable>]
    val CommandParameterProperty: StyledProperty<Object> // static, C# readonly
    [<Nullable>]
    val IconProperty: StyledProperty<Object> // static, C# readonly
    [<Nullable>]
    val InputGestureProperty: StyledProperty<KeyGesture> // static, C# readonly
    val IsSubMenuOpenProperty: StyledProperty<Boolean> // static, C# readonly
    val StaysOpenOnClickProperty: StyledProperty<Boolean> // static, C# readonly
    val ClickEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly
    val PointerEnteredItemEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly
    val PointerExitedItemEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly
    val SubmenuOpenedEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member Click: EventHandler<RoutedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member PointerEnteredItem: EventHandler<RoutedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member PointerExitedItem: EventHandler<RoutedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member SubmenuOpened: EventHandler<RoutedEventArgs> // with add, remove

    // readonly properties
    member HasSubMenu: Boolean with get
    member IsTopLevel: Boolean with get

    // properties
    [<Nullable>]
    member Command: ICommand with get, set
    [<Nullable>]
    member HotKey: KeyGesture with get, set
    [<Nullable>]
    member CommandParameter: Object with get, set
    [<Nullable>]
    member Icon: Object with get, set
    [<Nullable>]
    member InputGesture: KeyGesture with get, set
    member IsSelected: Boolean with get, set
    member IsSubMenuOpen: Boolean with get, set
    member StaysOpenOnClick: Boolean with get, set

    // methods
    member Open: () -> Void
    member Close: () -> Void

TabStrip

base: SelectingItemsControl <- ItemsControl <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Primitives

open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type TabStrip =
    inherit SelectingItemsControl

    // constructors
    new: () -> TabStrip

NativeMenuBar

base: TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Primitives
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type NativeMenuBar =
    inherit TemplatedControl

    // constructors
    new: () -> NativeMenuBar

    // static initonly fields
    val EnableMenuItemClickForwardingProperty: AttachedProperty<Boolean> // static, C# readonly

    // static methods
    static member SetEnableMenuItemClickForwarding: (menuItem:MenuItem * enable:Boolean) -> Void

NumericUpDown

base: TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Metadata
open Avalonia.Controls.Primitives
open Avalonia.Data.Converters
open Avalonia.Interactivity
open Avalonia.Layout
open System
open System.Globalization
open System.Runtime.CompilerServices

[<NullableContext; Nullable; TemplatePart; TemplatePart>]
type NumericUpDown =
    inherit TemplatedControl

    // constructors
    new: () -> NumericUpDown

    // static initonly fields
    val AllowSpinProperty: StyledProperty<Boolean> // static, C# readonly
    val ButtonSpinnerLocationProperty: StyledProperty<Location> // static, C# readonly
    val ShowButtonSpinnerProperty: StyledProperty<Boolean> // static, C# readonly
    val ClipValueToMinMaxProperty: StyledProperty<Boolean> // static, C# readonly
    [<Nullable>]
    val NumberFormatProperty: StyledProperty<NumberFormatInfo> // static, C# readonly
    val FormatStringProperty: StyledProperty<String> // static, C# readonly
    val IncrementProperty: StyledProperty<Decimal> // static, C# readonly
    val IsReadOnlyProperty: StyledProperty<Boolean> // static, C# readonly
    val MaximumProperty: StyledProperty<Decimal> // static, C# readonly
    val MinimumProperty: StyledProperty<Decimal> // static, C# readonly
    val ParsingNumberStyleProperty: StyledProperty<NumberStyles> // static, C# readonly
    [<Nullable>]
    val TextProperty: StyledProperty<String> // static, C# readonly
    [<Nullable>]
    val TextConverterProperty: StyledProperty<IValueConverter> // static, C# readonly
    val ValueProperty: StyledProperty<Nullable<Decimal>> // static, C# readonly
    [<Nullable>]
    val WatermarkProperty: StyledProperty<String> // static, C# readonly
    val HorizontalContentAlignmentProperty: StyledProperty<HorizontalAlignment> // static, C# readonly
    val VerticalContentAlignmentProperty: StyledProperty<VerticalAlignment> // static, C# readonly
    val ValueChangedEvent: RoutedEvent<NumericUpDownValueChangedEventArgs> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member Spinned: EventHandler<SpinEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member ValueChanged: EventHandler<NumericUpDownValueChangedEventArgs> // with add, remove

    // properties
    member AllowSpin: Boolean with get, set
    member ButtonSpinnerLocation: Location with get, set
    member ShowButtonSpinner: Boolean with get, set
    member ClipValueToMinMax: Boolean with get, set
    [<Nullable>]
    member NumberFormat: NumberFormatInfo with get, set
    member FormatString: String with get, set
    member Increment: Decimal with get, set
    member IsReadOnly: Boolean with get, set
    member Maximum: Decimal with get, set
    member Minimum: Decimal with get, set
    member ParsingNumberStyle: NumberStyles with get, set
    [<Nullable>]
    member Text: String with get, set
    [<Nullable>]
    member TextConverter: IValueConverter with get, set
    member Value: Nullable<Decimal> with get, set
    [<Nullable>]
    member Watermark: String with get, set
    member HorizontalContentAlignment: HorizontalAlignment with get, set
    member VerticalContentAlignment: VerticalAlignment with get, set

Separator

base: TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia.Controls.Primitives

type Separator =
    inherit TemplatedControl

    // constructors
    new: () -> Separator

TextBox

base: TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: MaskedTextBox

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Metadata
open Avalonia.Controls.Primitives
open Avalonia.Input
open Avalonia.Interactivity
open Avalonia.Layout
open Avalonia.Media
open Avalonia.Metadata
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; TemplatePart; TemplatePart; PseudoClasses>]
type TextBox =
    inherit TemplatedControl

    // constructors
    new: () -> TextBox

    // static initonly fields
    val AcceptsReturnProperty: StyledProperty<Boolean> // static, C# readonly
    val AcceptsTabProperty: StyledProperty<Boolean> // static, C# readonly
    val CaretIndexProperty: StyledProperty<Int32> // static, C# readonly
    val IsReadOnlyProperty: StyledProperty<Boolean> // static, C# readonly
    val PasswordCharProperty: StyledProperty<Char> // static, C# readonly
    [<Nullable>]
    val SelectionBrushProperty: StyledProperty<IBrush> // static, C# readonly
    [<Nullable>]
    val SelectionForegroundBrushProperty: StyledProperty<IBrush> // static, C# readonly
    [<Nullable>]
    val CaretBrushProperty: StyledProperty<IBrush> // static, C# readonly
    val SelectionStartProperty: StyledProperty<Int32> // static, C# readonly
    val SelectionEndProperty: StyledProperty<Int32> // static, C# readonly
    val MaxLengthProperty: StyledProperty<Int32> // static, C# readonly
    val MaxLinesProperty: StyledProperty<Int32> // static, C# readonly
    [<Nullable>]
    val TextProperty: StyledProperty<String> // static, C# readonly
    val TextAlignmentProperty: StyledProperty<TextAlignment> // static, C# readonly
    val HorizontalContentAlignmentProperty: StyledProperty<HorizontalAlignment> // static, C# readonly
    val VerticalContentAlignmentProperty: StyledProperty<VerticalAlignment> // static, C# readonly
    val TextWrappingProperty: StyledProperty<TextWrapping> // static, C# readonly
    val LineHeightProperty: StyledProperty<Double> // static, C# readonly
    val LetterSpacingProperty: StyledProperty<Double> // static, C# readonly
    [<Nullable>]
    val WatermarkProperty: StyledProperty<String> // static, C# readonly
    val UseFloatingWatermarkProperty: StyledProperty<Boolean> // static, C# readonly
    val NewLineProperty: StyledProperty<String> // static, C# readonly
    val InnerLeftContentProperty: StyledProperty<Object> // static, C# readonly
    val InnerRightContentProperty: StyledProperty<Object> // static, C# readonly
    val RevealPasswordProperty: StyledProperty<Boolean> // static, C# readonly
    val CanCutProperty: DirectProperty<TextBox, Boolean> // static, C# readonly
    val CanCopyProperty: DirectProperty<TextBox, Boolean> // static, C# readonly
    val CanPasteProperty: DirectProperty<TextBox, Boolean> // static, C# readonly
    val IsUndoEnabledProperty: StyledProperty<Boolean> // static, C# readonly
    val UndoLimitProperty: StyledProperty<Int32> // static, C# readonly
    val CanUndoProperty: DirectProperty<TextBox, Boolean> // static, C# readonly
    val CanRedoProperty: DirectProperty<TextBox, Boolean> // static, C# readonly
    val CopyingToClipboardEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly
    val CuttingToClipboardEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly
    val PastingFromClipboardEvent: RoutedEvent<RoutedEventArgs> // static, C# readonly
    val TextChangedEvent: RoutedEvent<TextChangedEventArgs> // static, C# readonly
    val TextChangingEvent: RoutedEvent<TextChangingEventArgs> // static, C# readonly

    // static readonly properties
    [<Nullable>]
    static member CutGesture: KeyGesture with get
    [<Nullable>]
    static member CopyGesture: KeyGesture with get
    [<Nullable>]
    static member PasteGesture: KeyGesture with get

    // events
    [<CLIEvent; Nullable>]
    member CopyingToClipboard: EventHandler<RoutedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member CuttingToClipboard: EventHandler<RoutedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member PastingFromClipboard: EventHandler<RoutedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member TextChanged: EventHandler<TextChangedEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member TextChanging: EventHandler<TextChangingEventArgs> // with add, remove

    // properties
    member AcceptsReturn: Boolean with get, set
    member AcceptsTab: Boolean with get, set
    member CaretIndex: Int32 with get, set
    member IsReadOnly: Boolean with get, set
    member PasswordChar: Char with get, set
    [<Nullable>]
    member SelectionBrush: IBrush with get, set
    [<Nullable>]
    member SelectionForegroundBrush: IBrush with get, set
    [<Nullable>]
    member CaretBrush: IBrush with get, set
    member SelectionStart: Int32 with get, set
    member SelectionEnd: Int32 with get, set
    member MaxLength: Int32 with get, set
    member MaxLines: Int32 with get, set
    member LetterSpacing: Double with get, set
    member LineHeight: Double with get, set
    [<Nullable; Content>]
    member Text: String with get, set
    member SelectedText: String with get, set
    member HorizontalContentAlignment: HorizontalAlignment with get, set
    member VerticalContentAlignment: VerticalAlignment with get, set
    member TextAlignment: TextAlignment with get, set
    [<Nullable>]
    member Watermark: String with get, set
    member UseFloatingWatermark: Boolean with get, set
    member InnerLeftContent: Object with get, set
    member InnerRightContent: Object with get, set
    member RevealPassword: Boolean with get, set
    member TextWrapping: TextWrapping with get, set
    member NewLine: String with get, set
    member CanCut: Boolean with get
    member CanCopy: Boolean with get
    member CanPaste: Boolean with get
    member IsUndoEnabled: Boolean with get, set
    member UndoLimit: Int32 with get, set
    member CanUndo: Boolean with get
    member CanRedo: Boolean with get

    // methods
    [<AsyncStateMachine>]
    member Cut: () -> Void
    [<AsyncStateMachine>]
    member Copy: () -> Void
    [<AsyncStateMachine>]
    member Paste: () -> Void
    member Clear: () -> Void
    member SelectAll: () -> Void
    member Undo: () -> Void
    member Redo: () -> Void
    member ClearSelection: () -> Void

MaskedTextBox

base: TextBox <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open System
open System.ComponentModel
open System.Globalization
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type MaskedTextBox =
    inherit TextBox

    // constructors
    new: () -> MaskedTextBox
    new: (maskedTextProvider:MaskedTextProvider) -> MaskedTextBox

    // static initonly fields
    val AsciiOnlyProperty: StyledProperty<Boolean> // static, C# readonly
    [<Nullable>]
    val CultureProperty: StyledProperty<CultureInfo> // static, C# readonly
    val HidePromptOnLeaveProperty: StyledProperty<Boolean> // static, C# readonly
    val MaskCompletedProperty: DirectProperty<MaskedTextBox, Nullable<Boolean>> // static, C# readonly
    val MaskFullProperty: DirectProperty<MaskedTextBox, Nullable<Boolean>> // static, C# readonly
    [<Nullable>]
    val MaskProperty: StyledProperty<String> // static, C# readonly
    val PromptCharProperty: StyledProperty<Char> // static, C# readonly
    val ResetOnPromptProperty: StyledProperty<Boolean> // static, C# readonly
    val ResetOnSpaceProperty: StyledProperty<Boolean> // static, C# readonly

    // readonly properties
    member MaskCompleted: Nullable<Boolean> with get
    member MaskFull: Nullable<Boolean> with get

    // properties
    member AsciiOnly: Boolean with get, set
    [<Nullable>]
    member Culture: CultureInfo with get, set
    member HidePromptOnLeave: Boolean with get, set
    [<Nullable>]
    member Mask: String with get, set
    [<Nullable>]
    member MaskProvider: MaskedTextProvider with get
    member PromptChar: Char with get, set
    member ResetOnPrompt: Boolean with get, set
    member ResetOnSpace: Boolean with get, set

TimePicker

base: TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Metadata
open Avalonia.Controls.Primitives
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; PseudoClasses>]
type TimePicker =
    inherit TemplatedControl

    // constructors
    new: () -> TimePicker

    // static initonly fields
    val MinuteIncrementProperty: StyledProperty<Int32> // static, C# readonly
    val ClockIdentifierProperty: StyledProperty<String> // static, C# readonly
    val SelectedTimeProperty: StyledProperty<Nullable<TimeSpan>> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member SelectedTimeChanged: EventHandler<TimePickerSelectedValueChangedEventArgs> // with add, remove

    // properties
    member MinuteIncrement: Int32 with get, set
    member ClockIdentifier: String with get, set
    member SelectedTime: Nullable<TimeSpan> with get, set

CaptionButtons

base: TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Chrome

open Avalonia.Controls
open Avalonia.Controls.Metadata
open Avalonia.Controls.Primitives
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; TemplatePart; TemplatePart; TemplatePart; TemplatePart; PseudoClasses>]
type CaptionButtons =
    inherit TemplatedControl

    // constructors
    new: () -> CaptionButtons

    // methods
    member Attach: (hostWindow:Window) -> Void
    member Detach: () -> Void

TitleBar

base: TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Chrome

open Avalonia.Controls.Metadata
open Avalonia.Controls.Primitives
open System.Runtime.CompilerServices

[<NullableContext; Nullable; TemplatePart; PseudoClasses>]
type TitleBar =
    inherit TemplatedControl

    // constructors
    new: () -> TitleBar

WindowNotificationManager

base: TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Notifications

open Avalonia
open Avalonia.Controls
open Avalonia.Controls.Metadata
open Avalonia.Controls.Primitives
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; TemplatePart; PseudoClasses>]
type WindowNotificationManager =
    inherit TemplatedControl

    // constructors
    [<NullableContext>]
    new: (host:TopLevel) -> WindowNotificationManager

    // static initonly fields
    val PositionProperty: StyledProperty<NotificationPosition> // static, C# readonly
    val MaxItemsProperty: StyledProperty<Int32> // static, C# readonly

    // properties
    member Position: NotificationPosition with get, set
    member MaxItems: Int32 with get, set

    // methods
    member Show: (content:INotification) -> Void
    [<AsyncStateMachine>]
    member Show: (content:Object) -> Void

CalendarItem

base: TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Primitives

open Avalonia
open Avalonia.Controls
open Avalonia.Controls.Metadata
open Avalonia.Media
open System.Runtime.CompilerServices

[<NullableContext; Nullable; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; PseudoClasses>]
type CalendarItem =
    inherit TemplatedControl

    // constructors
    new: () -> CalendarItem

    // static initonly fields
    [<Nullable>]
    val HeaderBackgroundProperty: StyledProperty<IBrush> // static, C# readonly
    [<Nullable>]
    val DayTitleTemplateProperty: StyledProperty<ITemplate<Control>> // static, C# readonly

    // properties
    member HeaderBackground: IBrush with get, set
    [<Nullable>]
    member DayTitleTemplate: ITemplate<Control> with get, set

PickerPresenterBase

base: TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: DatePickerPresenter, TimePickerPresenter

namespace Avalonia.Controls.Primitives

open System
open System.Runtime.CompilerServices

[<AbstractClass; NullableContext; Nullable>]
type PickerPresenterBase =
    inherit TemplatedControl

    // events
    [<CLIEvent>]
    member Confirmed: EventHandler // with add, remove
    [<CLIEvent>]
    member Dismissed: EventHandler // with add, remove

DatePickerPresenter

base: PickerPresenterBase <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Metadata
open Avalonia.Controls.Primitives
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart>]
type DatePickerPresenter =
    inherit PickerPresenterBase

    // constructors
    new: () -> DatePickerPresenter

    // static initonly fields
    val DateProperty: StyledProperty<DateTimeOffset> // static, C# readonly
    val DayFormatProperty: StyledProperty<String> // static, C# readonly
    val DayVisibleProperty: StyledProperty<Boolean> // static, C# readonly
    val MaxYearProperty: StyledProperty<DateTimeOffset> // static, C# readonly
    val MinYearProperty: StyledProperty<DateTimeOffset> // static, C# readonly
    val MonthFormatProperty: StyledProperty<String> // static, C# readonly
    val MonthVisibleProperty: StyledProperty<Boolean> // static, C# readonly
    val YearFormatProperty: StyledProperty<String> // static, C# readonly
    val YearVisibleProperty: StyledProperty<Boolean> // static, C# readonly

    // properties
    member Date: DateTimeOffset with get, set
    member DayFormat: String with get, set
    member DayVisible: Boolean with get, set
    member MaxYear: DateTimeOffset with get, set
    member MinYear: DateTimeOffset with get, set
    member MonthFormat: String with get, set
    member MonthVisible: Boolean with get, set
    member YearFormat: String with get, set
    member YearVisible: Boolean with get, set

TimePickerPresenter

base: PickerPresenterBase <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Metadata
open Avalonia.Controls.Primitives
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart; TemplatePart>]
type TimePickerPresenter =
    inherit PickerPresenterBase

    // constructors
    new: () -> TimePickerPresenter

    // static initonly fields
    [<Nullable>]
    val MinuteIncrementProperty: StyledProperty<Int32> // static, C# readonly
    [<Nullable>]
    val ClockIdentifierProperty: StyledProperty<String> // static, C# readonly
    [<Nullable>]
    val TimeProperty: StyledProperty<TimeSpan> // static, C# readonly

    // properties
    member MinuteIncrement: Int32 with get, set
    [<Nullable>]
    member ClockIdentifier: String with get, set
    member Time: TimeSpan with get, set

RangeBase

base: TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: ProgressBar, Slider, ScrollBar

namespace Avalonia.Controls.Primitives

open Avalonia
open Avalonia.Interactivity
open System
open System.Runtime.CompilerServices

[<AbstractClass; NullableContext; Nullable>]
type RangeBase =
    inherit TemplatedControl

    // static initonly fields
    val MinimumProperty: StyledProperty<Double> // static, C# readonly
    val MaximumProperty: StyledProperty<Double> // static, C# readonly
    val ValueProperty: StyledProperty<Double> // static, C# readonly
    val SmallChangeProperty: StyledProperty<Double> // static, C# readonly
    val LargeChangeProperty: StyledProperty<Double> // static, C# readonly
    val ValueChangedEvent: RoutedEvent<RangeBaseValueChangedEventArgs> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member ValueChanged: EventHandler<RangeBaseValueChangedEventArgs> // with add, remove

    // properties
    member Minimum: Double with get, set
    member Maximum: Double with get, set
    member Value: Double with get, set
    member SmallChange: Double with get, set
    member LargeChange: Double with get, set

ProgressBar

base: RangeBase <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Metadata
open Avalonia.Controls.Primitives
open Avalonia.Layout
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; TemplatePart; PseudoClasses>]
type ProgressBar =
    inherit RangeBase

    // constructors
    new: () -> ProgressBar

    // static initonly fields
    val IsIndeterminateProperty: StyledProperty<Boolean> // static, C# readonly
    val ShowProgressTextProperty: StyledProperty<Boolean> // static, C# readonly
    val ProgressTextFormatProperty: StyledProperty<String> // static, C# readonly
    val OrientationProperty: StyledProperty<Orientation> // static, C# readonly
    val PercentageProperty: DirectProperty<ProgressBar, Double> // static, C# readonly

    // readonly properties
    member TemplateSettings: ProgressBarTemplateSettings with get

    // properties
    member Percentage: Double with get
    member IsIndeterminate: Boolean with get, set
    member ShowProgressText: Boolean with get, set
    member ProgressTextFormat: String with get, set
    member Orientation: Orientation with get, set

Slider

base: RangeBase <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Collections
open Avalonia.Controls.Metadata
open Avalonia.Controls.Primitives
open Avalonia.Layout
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; TemplatePart; TemplatePart; TemplatePart; PseudoClasses>]
type Slider =
    inherit RangeBase

    // constructors
    new: () -> Slider

    // static initonly fields
    val OrientationProperty: StyledProperty<Orientation> // static, C# readonly
    val IsDirectionReversedProperty: StyledProperty<Boolean> // static, C# readonly
    val IsSnapToTickEnabledProperty: StyledProperty<Boolean> // static, C# readonly
    val TickFrequencyProperty: StyledProperty<Double> // static, C# readonly
    val TickPlacementProperty: StyledProperty<TickPlacement> // static, C# readonly
    [<Nullable>]
    val TicksProperty: StyledProperty<AvaloniaList<Double>> // static, C# readonly

    // properties
    [<Nullable>]
    member Ticks: AvaloniaList<Double> with get, set
    member Orientation: Orientation with get, set
    member IsDirectionReversed: Boolean with get, set
    member IsSnapToTickEnabled: Boolean with get, set
    member TickFrequency: Double with get, set
    member TickPlacement: TickPlacement with get, set

ScrollBar

base: RangeBase <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Primitives

open Avalonia
open Avalonia.Controls.Metadata
open Avalonia.Layout
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; TemplatePart; TemplatePart; TemplatePart; TemplatePart; PseudoClasses>]
type ScrollBar =
    inherit RangeBase

    // constructors
    new: () -> ScrollBar

    // static initonly fields
    val ViewportSizeProperty: StyledProperty<Double> // static, C# readonly
    val VisibilityProperty: StyledProperty<ScrollBarVisibility> // static, C# readonly
    val OrientationProperty: StyledProperty<Orientation> // static, C# readonly
    val IsExpandedProperty: DirectProperty<ScrollBar, Boolean> // static, C# readonly
    val AllowAutoHideProperty: StyledProperty<Boolean> // static, C# readonly
    val HideDelayProperty: StyledProperty<TimeSpan> // static, C# readonly
    val ShowDelayProperty: StyledProperty<TimeSpan> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member Scroll: EventHandler<ScrollEventArgs> // with add, remove

    // properties
    member ViewportSize: Double with get, set
    member Visibility: ScrollBarVisibility with get, set
    member Orientation: Orientation with get, set
    member IsExpanded: Boolean with get
    member AllowAutoHide: Boolean with get, set
    member HideDelay: TimeSpan with get, set
    member ShowDelay: TimeSpan with get, set

Thumb

base: TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: GridSplitter

namespace Avalonia.Controls.Primitives

open Avalonia.Controls.Metadata
open Avalonia.Input
open Avalonia.Interactivity
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; PseudoClasses>]
type Thumb =
    inherit TemplatedControl

    // constructors
    new: () -> Thumb

    // static initonly fields
    val DragStartedEvent: RoutedEvent<VectorEventArgs> // static, C# readonly
    val DragDeltaEvent: RoutedEvent<VectorEventArgs> // static, C# readonly
    val DragCompletedEvent: RoutedEvent<VectorEventArgs> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member DragStarted: EventHandler<VectorEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member DragDelta: EventHandler<VectorEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member DragCompleted: EventHandler<VectorEventArgs> // with add, remove

GridSplitter

base: Thumb <- TemplatedControl <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Primitives
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type GridSplitter =
    inherit Thumb

    // constructors
    new: () -> GridSplitter

    // static initonly fields
    val ResizeDirectionProperty: StyledProperty<GridResizeDirection> // static, C# readonly
    val ResizeBehaviorProperty: StyledProperty<GridResizeBehavior> // static, C# readonly
    val ShowsPreviewProperty: StyledProperty<Boolean> // static, C# readonly
    val KeyboardIncrementProperty: StyledProperty<Double> // static, C# readonly
    val DragIncrementProperty: StyledProperty<Double> // static, C# readonly
    val PreviewContentProperty: StyledProperty<ITemplate<Control>> // static, C# readonly

    // properties
    member ResizeDirection: GridResizeDirection with get, set
    member ResizeBehavior: GridResizeBehavior with get, set
    member ShowsPreview: Boolean with get, set
    member KeyboardIncrement: Double with get, set
    member DragIncrement: Double with get, set
    member PreviewContent: ITemplate<Control> with get, set

Track

base: Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Primitives

open Avalonia
open Avalonia.Controls
open Avalonia.Controls.Metadata
open Avalonia.Layout
open Avalonia.Metadata
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable; PseudoClasses>]
type Track =
    inherit Control

    // constructors
    new: () -> Track

    // static initonly fields
    val MinimumProperty: StyledProperty<Double> // static, C# readonly
    val MaximumProperty: StyledProperty<Double> // static, C# readonly
    val ValueProperty: StyledProperty<Double> // static, C# readonly
    val ViewportSizeProperty: StyledProperty<Double> // static, C# readonly
    val OrientationProperty: StyledProperty<Orientation> // static, C# readonly
    [<Nullable>]
    val ThumbProperty: StyledProperty<Thumb> // static, C# readonly
    [<Nullable>]
    val IncreaseButtonProperty: StyledProperty<Button> // static, C# readonly
    [<Nullable>]
    val DecreaseButtonProperty: StyledProperty<Button> // static, C# readonly
    val IsDirectionReversedProperty: StyledProperty<Boolean> // static, C# readonly
    val IgnoreThumbDragProperty: StyledProperty<Boolean> // static, C# readonly

    // properties
    member Minimum: Double with get, set
    member Maximum: Double with get, set
    member Value: Double with get, set
    member ViewportSize: Double with get, set
    member Orientation: Orientation with get, set
    [<Nullable; Content>]
    member Thumb: Thumb with get, set
    [<Nullable>]
    member IncreaseButton: Button with get, set
    [<Nullable>]
    member DecreaseButton: Button with get, set
    member IsDirectionReversed: Boolean with get, set
    member IgnoreThumbDrag: Boolean with get, set

    // methods
    member ValueFromPoint: (point:Point) -> Double
    member ValueFromDistance: (horizontal:Double * vertical:Double) -> Double

RemoteWidget

base: Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Remote

open Avalonia.Controls
open Avalonia.Media
open Avalonia.Remote.Protocol
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type RemoteWidget =
    inherit Control

    // constructors
    new: (connection:IAvaloniaRemoteTransportConnection) -> RemoteWidget

    // properties
    member Mode: SizingMode with get, set

    // methods
    member Render: (context:DrawingContext) -> Void

Shape

base: Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: Arc, Ellipse, Line, Path, Polygon, Polyline, Rectangle, Sector

namespace Avalonia.Controls.Shapes

open Avalonia
open Avalonia.Collections
open Avalonia.Controls
open Avalonia.Media
open System
open System.Runtime.CompilerServices

[<AbstractClass; NullableContext; Nullable>]
type Shape =
    inherit Control

    // static initonly fields
    [<Nullable>]
    val FillProperty: StyledProperty<IBrush> // static, C# readonly
    [<Nullable>]
    val StretchProperty: StyledProperty<Stretch> // static, C# readonly
    [<Nullable>]
    val StrokeProperty: StyledProperty<IBrush> // static, C# readonly
    [<Nullable>]
    val StrokeDashArrayProperty: StyledProperty<AvaloniaList<Double>> // static, C# readonly
    [<Nullable>]
    val StrokeDashOffsetProperty: StyledProperty<Double> // static, C# readonly
    [<Nullable>]
    val StrokeThicknessProperty: StyledProperty<Double> // static, C# readonly
    [<Nullable>]
    val StrokeLineCapProperty: StyledProperty<PenLineCap> // static, C# readonly
    [<Nullable>]
    val StrokeJoinProperty: StyledProperty<PenLineJoin> // static, C# readonly

    // readonly properties
    member DefiningGeometry: Geometry with get
    member RenderedGeometry: Geometry with get

    // properties
    member Fill: IBrush with get, set
    member Stretch: Stretch with get, set
    member Stroke: IBrush with get, set
    member StrokeDashArray: AvaloniaList<Double> with get, set
    member StrokeDashOffset: Double with get, set
    member StrokeThickness: Double with get, set
    member StrokeLineCap: PenLineCap with get, set
    member StrokeJoin: PenLineJoin with get, set

    // methods
    [<NullableContext>]
    member Render: (context:DrawingContext) -> Void

Arc

base: Shape <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Shapes

open Avalonia
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type Arc =
    inherit Shape

    // constructors
    new: () -> Arc

    // static initonly fields
    val StartAngleProperty: StyledProperty<Double> // static, C# readonly
    val SweepAngleProperty: StyledProperty<Double> // static, C# readonly

    // properties
    member StartAngle: Double with get, set
    member SweepAngle: Double with get, set

Ellipse

base: Shape <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Shapes


type Ellipse =
    inherit Shape

    // constructors
    new: () -> Ellipse

Line

base: Shape <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Shapes

open Avalonia
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type Line =
    inherit Shape

    // constructors
    new: () -> Line

    // static initonly fields
    val StartPointProperty: StyledProperty<Point> // static, C# readonly
    val EndPointProperty: StyledProperty<Point> // static, C# readonly

    // properties
    member StartPoint: Point with get, set
    member EndPoint: Point with get, set

Path

base: Shape <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Shapes

open Avalonia
open Avalonia.Media
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type Path =
    inherit Shape

    // constructors
    new: () -> Path

    // static initonly fields
    val DataProperty: StyledProperty<Geometry> // static, C# readonly

    // properties
    member Data: Geometry with get, set

Polygon

base: Shape <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Shapes

open Avalonia
open System.Collections.Generic
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type Polygon =
    inherit Shape

    // constructors
    new: () -> Polygon

    // static initonly fields
    val PointsProperty: StyledProperty<IList<Point>> // static, C# readonly

    // properties
    member Points: IList<Point> with get, set

Polyline

base: Shape <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Shapes

open Avalonia
open System.Collections.Generic
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type Polyline =
    inherit Shape

    // constructors
    new: () -> Polyline

    // static initonly fields
    val PointsProperty: StyledProperty<IList<Point>> // static, C# readonly

    // properties
    member Points: IList<Point> with get, set

Rectangle

base: Shape <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Shapes

open Avalonia
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type Rectangle =
    inherit Shape

    // constructors
    new: () -> Rectangle

    // static initonly fields
    val RadiusXProperty: StyledProperty<Double> // static, C# readonly
    val RadiusYProperty: StyledProperty<Double> // static, C# readonly

    // properties
    member RadiusX: Double with get, set
    member RadiusY: Double with get, set

Sector

base: Shape <- Control <- InputElement <- Interactive <- Layoutable <- Visual <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Shapes

open Avalonia
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type Sector =
    inherit Shape

    // constructors
    new: () -> Sector

    // static initonly fields
    val StartAngleProperty: StyledProperty<Double> // static, C# readonly
    val SweepAngleProperty: StyledProperty<Double> // static, C# readonly

    // properties
    member StartAngle: Double with get, set
    member SweepAngle: Double with get, set

TextElement

base: StyledElement <- Animatable <- AvaloniaObject <- Object

Children: Inline

namespace Avalonia.Controls.Documents

open Avalonia
open Avalonia.Controls
open Avalonia.Media
open System
open System.Runtime.CompilerServices

[<AbstractClass; NullableContext; Nullable>]
type TextElement =
    inherit StyledElement

    // static initonly fields
    [<Nullable>]
    val BackgroundProperty: StyledProperty<IBrush> // static, C# readonly
    val FontFamilyProperty: AttachedProperty<FontFamily> // static, C# readonly
    val FontSizeProperty: AttachedProperty<Double> // static, C# readonly
    val FontStyleProperty: AttachedProperty<FontStyle> // static, C# readonly
    val FontWeightProperty: AttachedProperty<FontWeight> // static, C# readonly
    val FontStretchProperty: AttachedProperty<FontStretch> // static, C# readonly
    [<Nullable>]
    val ForegroundProperty: AttachedProperty<IBrush> // static, C# readonly

    // static methods
    static member GetFontFamily: (control:Control) -> FontFamily
    static member SetFontFamily: (control:Control * value:FontFamily) -> Void
    static member GetFontSize: (control:Control) -> Double
    static member SetFontSize: (control:Control * value:Double) -> Void
    static member GetFontStyle: (control:Control) -> FontStyle
    static member SetFontStyle: (control:Control * value:FontStyle) -> Void
    static member GetFontWeight: (control:Control) -> FontWeight
    static member SetFontWeight: (control:Control * value:FontWeight) -> Void
    static member GetFontStretch: (control:Control) -> FontStretch
    static member SetFontStretch: (control:Control * value:FontStretch) -> Void
    static member GetForeground: (control:Control) -> IBrush
    static member SetForeground: (control:Control * value:IBrush) -> Void

    // properties
    [<Nullable>]
    member Background: IBrush with get, set
    member FontFamily: FontFamily with get, set
    member FontSize: Double with get, set
    member FontStyle: FontStyle with get, set
    member FontWeight: FontWeight with get, set
    member FontStretch: FontStretch with get, set
    [<Nullable>]
    member Foreground: IBrush with get, set

Inline

base: TextElement <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: InlineUIContainer, LineBreak, Run, Span

namespace Avalonia.Controls.Documents

open Avalonia
open Avalonia.Media
open System.Runtime.CompilerServices

[<AbstractClass; NullableContext; Nullable>]
type Inline =
    inherit TextElement

    // static initonly fields
    [<Nullable>]
    val TextDecorationsProperty: StyledProperty<TextDecorationCollection> // static, C# readonly
    val BaselineAlignmentProperty: StyledProperty<BaselineAlignment> // static, C# readonly

    // properties
    [<Nullable>]
    member TextDecorations: TextDecorationCollection with get, set
    member BaselineAlignment: BaselineAlignment with get, set

InlineUIContainer

base: Inline <- TextElement <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Documents

open Avalonia
open Avalonia.Controls
open Avalonia.Metadata
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type InlineUIContainer =
    inherit Inline

    // constructors
    new: () -> InlineUIContainer
    new: (child:Control) -> InlineUIContainer

    // static initonly fields
    val ChildProperty: StyledProperty<Control> // static, C# readonly

    // properties
    [<Content>]
    member Child: Control with get, set

LineBreak

base: Inline <- TextElement <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Documents

open Avalonia.Metadata
open System.Runtime.CompilerServices

[<NullableContext; Nullable; TrimSurroundingWhitespace>]
type LineBreak =
    inherit Inline

    // constructors
    new: () -> LineBreak

Run

base: Inline <- TextElement <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Documents

open Avalonia
open Avalonia.Metadata
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type Run =
    inherit Inline

    // constructors
    new: () -> Run
    new: (text:String) -> Run

    // static initonly fields
    [<Nullable>]
    val TextProperty: StyledProperty<String> // static, C# readonly

    // properties
    [<Content>]
    member Text: String with get, set

Span

base: Inline <- TextElement <- StyledElement <- Animatable <- AvaloniaObject <- Object

Children: Bold, Italic, Underline

namespace Avalonia.Controls.Documents

open Avalonia
open Avalonia.Metadata
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type Span =
    inherit Inline

    // constructors
    new: () -> Span

    // static initonly fields
    val InlinesProperty: StyledProperty<InlineCollection> // static, C# readonly

    // properties
    [<Content>]
    member Inlines: InlineCollection with get, set

Bold

base: Span <- Inline <- TextElement <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Documents


type Bold =
    inherit Span

    // constructors
    new: () -> Bold

Italic

base: Span <- Inline <- TextElement <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Documents


type Italic =
    inherit Span

    // constructors
    new: () -> Italic

Underline

base: Span <- Inline <- TextElement <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Controls.Documents


type Underline =
    inherit Span

    // constructors
    new: () -> Underline

GestureRecognizer

base: StyledElement <- Animatable <- AvaloniaObject <- Object

Children: PinchGestureRecognizer, PullGestureRecognizer, ScrollGestureRecognizer

namespace Avalonia.Input.GestureRecognizers

open Avalonia
open System.Runtime.CompilerServices

[<AbstractClass; NullableContext; Nullable>]
type GestureRecognizer =
    inherit StyledElement

PinchGestureRecognizer

base: GestureRecognizer <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Input

open Avalonia.Input.GestureRecognizers
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type PinchGestureRecognizer =
    inherit GestureRecognizer

    // constructors
    new: () -> PinchGestureRecognizer

PullGestureRecognizer

base: GestureRecognizer <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Input

open Avalonia
open Avalonia.Input.GestureRecognizers
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type PullGestureRecognizer =
    inherit GestureRecognizer

    // constructors
    new: (pullDirection:PullDirection) -> PullGestureRecognizer
    new: () -> PullGestureRecognizer

    // static initonly fields
    val PullDirectionProperty: StyledProperty<PullDirection> // static, C# readonly

    // properties
    member PullDirection: PullDirection with get, set

ScrollGestureRecognizer

base: GestureRecognizer <- StyledElement <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Input.GestureRecognizers

open Avalonia
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type ScrollGestureRecognizer =
    inherit GestureRecognizer

    // constructors
    new: () -> ScrollGestureRecognizer

    // static fields
    val InertialResistance: Double // static, C# constant

    // static initonly fields
    val CanHorizontallyScrollProperty: DirectProperty<ScrollGestureRecognizer, Boolean> // static, C# readonly
    val CanVerticallyScrollProperty: DirectProperty<ScrollGestureRecognizer, Boolean> // static, C# readonly
    val IsScrollInertiaEnabledProperty: DirectProperty<ScrollGestureRecognizer, Boolean> // static, C# readonly
    val ScrollStartDistanceProperty: DirectProperty<ScrollGestureRecognizer, Int32> // static, C# readonly

    // properties
    member CanHorizontallyScroll: Boolean with get, set
    member CanVerticallyScroll: Boolean with get, set
    member IsScrollInertiaEnabled: Boolean with get, set
    member ScrollStartDistance: Int32 with get, set

Brush

base: Animatable <- AvaloniaObject <- Object

Children: GradientBrush, SolidColorBrush, TileBrush

namespace Avalonia.Media

open Avalonia
open Avalonia.Animation
open System
open System.ComponentModel
open System.Runtime.CompilerServices

[<AbstractClass; NullableContext; Nullable; TypeConverter>]
type Brush =
    inherit Animatable

    // static initonly fields
    val OpacityProperty: StyledProperty<Double> // static, C# readonly
    [<Nullable>]
    val TransformProperty: StyledProperty<ITransform> // static, C# readonly
    val TransformOriginProperty: StyledProperty<RelativePoint> // static, C# readonly

    // static methods
    static member Parse: (s:String) -> IBrush

    // properties
    member Opacity: Double with get, set
    [<Nullable>]
    member Transform: ITransform with get, set
    member TransformOrigin: RelativePoint with get, set

GradientBrush

base: Brush <- Animatable <- AvaloniaObject <- Object

Children: ConicGradientBrush, LinearGradientBrush, RadialGradientBrush

namespace Avalonia.Media

open Avalonia
open Avalonia.Metadata
open System.Runtime.CompilerServices

[<AbstractClass; NullableContext; Nullable>]
type GradientBrush =
    inherit Brush

    // static initonly fields
    val SpreadMethodProperty: StyledProperty<GradientSpreadMethod> // static, C# readonly
    val GradientStopsProperty: StyledProperty<GradientStops> // static, C# readonly

    // properties
    member SpreadMethod: GradientSpreadMethod with get, set
    [<Content>]
    member GradientStops: GradientStops with get, set

    // methods
    abstract member ToImmutable: () -> IImmutableBrush

ConicGradientBrush

base: GradientBrush <- Brush <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type ConicGradientBrush =
    inherit GradientBrush

    // constructors
    new: () -> ConicGradientBrush

    // static initonly fields
    val CenterProperty: StyledProperty<RelativePoint> // static, C# readonly
    val AngleProperty: StyledProperty<Double> // static, C# readonly

    // properties
    member Center: RelativePoint with get, set
    member Angle: Double with get, set

    // methods
    member ToImmutable: () -> IImmutableBrush

LinearGradientBrush

base: GradientBrush <- Brush <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type LinearGradientBrush =
    inherit GradientBrush

    // constructors
    new: () -> LinearGradientBrush

    // static initonly fields
    val StartPointProperty: StyledProperty<RelativePoint> // static, C# readonly
    val EndPointProperty: StyledProperty<RelativePoint> // static, C# readonly

    // properties
    member StartPoint: RelativePoint with get, set
    member EndPoint: RelativePoint with get, set

    // methods
    member ToImmutable: () -> IImmutableBrush

RadialGradientBrush

base: GradientBrush <- Brush <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type RadialGradientBrush =
    inherit GradientBrush

    // constructors
    new: () -> RadialGradientBrush

    // static initonly fields
    val CenterProperty: StyledProperty<RelativePoint> // static, C# readonly
    val GradientOriginProperty: StyledProperty<RelativePoint> // static, C# readonly
    val RadiusProperty: StyledProperty<Double> // static, C# readonly

    // properties
    member Center: RelativePoint with get, set
    member GradientOrigin: RelativePoint with get, set
    member Radius: Double with get, set

    // methods
    member ToImmutable: () -> IImmutableBrush

SolidColorBrush

base: Brush <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type SolidColorBrush =
    inherit Brush

    // constructors
    new: () -> SolidColorBrush
    new: (color:Color * opacity:Double) -> SolidColorBrush
    new: (color:UInt32) -> SolidColorBrush

    // static initonly fields
    val ColorProperty: StyledProperty<Color> // static, C# readonly

    // static methods
    static member Parse: (s:String) -> SolidColorBrush

    // properties
    member Color: Color with get, set

    // methods
    member ToString: () -> String
    member ToImmutable: () -> IImmutableBrush

TileBrush

base: Brush <- Animatable <- AvaloniaObject <- Object

Children: DrawingBrush, ImageBrush, VisualBrush

namespace Avalonia.Media

open Avalonia
open System.Runtime.CompilerServices

[<AbstractClass; NullableContext; Nullable>]
type TileBrush =
    inherit Brush

    // static initonly fields
    val AlignmentXProperty: StyledProperty<AlignmentX> // static, C# readonly
    val AlignmentYProperty: StyledProperty<AlignmentY> // static, C# readonly
    val DestinationRectProperty: StyledProperty<RelativeRect> // static, C# readonly
    val SourceRectProperty: StyledProperty<RelativeRect> // static, C# readonly
    val StretchProperty: StyledProperty<Stretch> // static, C# readonly
    val TileModeProperty: StyledProperty<TileMode> // static, C# readonly

    // properties
    member AlignmentX: AlignmentX with get, set
    member AlignmentY: AlignmentY with get, set
    member DestinationRect: RelativeRect with get, set
    member SourceRect: RelativeRect with get, set
    member Stretch: Stretch with get, set
    member TileMode: TileMode with get, set

DrawingBrush

base: TileBrush <- Brush <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type DrawingBrush =
    inherit TileBrush

    // constructors
    new: () -> DrawingBrush
    new: (visual:Drawing) -> DrawingBrush

    // static initonly fields
    [<Nullable>]
    val DrawingProperty: StyledProperty<Drawing> // static, C# readonly

    // properties
    [<Nullable>]
    member Drawing: Drawing with get, set

ImageBrush

base: TileBrush <- Brush <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open System.Runtime.CompilerServices

type ImageBrush =
    inherit TileBrush

    // constructors
    new: () -> ImageBrush
    [<NullableContext>]
    new: (source:IImageBrushSource) -> ImageBrush

    // static initonly fields
    [<Nullable>]
    val SourceProperty: StyledProperty<IImageBrushSource> // static, C# readonly

    // properties
    [<Nullable>]
    member Source: IImageBrushSource with get, set

    // methods
    [<NullableContext>]
    member ToImmutable: () -> IImmutableBrush

VisualBrush

base: TileBrush <- Brush <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type VisualBrush =
    inherit TileBrush

    // constructors
    new: () -> VisualBrush
    new: (visual:Visual) -> VisualBrush

    // static initonly fields
    [<Nullable>]
    val VisualProperty: StyledProperty<Visual> // static, C# readonly

    // properties
    [<Nullable>]
    member Visual: Visual with get, set

DashStyle

base: Animatable <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open Avalonia.Animation
open Avalonia.Collections
open Avalonia.Media.Immutable
open System
open System.Collections.Generic
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type DashStyle =
    inherit Animatable

    // constructors
    new: () -> DashStyle
    new: (dashes:IEnumerable<Double> * offset:Double) -> DashStyle

    // static initonly fields
    [<Nullable>]
    val DashesProperty: StyledProperty<AvaloniaList<Double>> // static, C# readonly
    [<Nullable>]
    val OffsetProperty: StyledProperty<Double> // static, C# readonly

    // static readonly properties
    [<Nullable>]
    static member Dash: IDashStyle with get
    [<Nullable>]
    static member Dot: IDashStyle with get
    [<Nullable>]
    static member DashDot: IDashStyle with get
    [<Nullable>]
    static member DashDotDot: IDashStyle with get

    // properties
    member Dashes: AvaloniaList<Double> with get, set
    member Offset: Double with get, set

    // methods
    [<NullableContext>]
    member ToImmutable: () -> ImmutableDashStyle

Effect

base: Animatable <- AvaloniaObject <- Object

Children: BlurEffect, DropShadowEffectBase

namespace Avalonia.Media

open Avalonia.Animation
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type Effect =
    inherit Animatable

    // static methods
    static member Parse: (s:String) -> IEffect

    // events
    [<CLIEvent; Nullable>]
    member Invalidated: EventHandler // with add, remove

BlurEffect

base: Effect <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open System
open System.Runtime.CompilerServices

type BlurEffect =
    inherit Effect

    // constructors
    new: () -> BlurEffect

    // static initonly fields
    [<Nullable>]
    val RadiusProperty: StyledProperty<Double> // static, C# readonly

    // properties
    member Radius: Double with get, set

    // methods
    [<NullableContext>]
    member ToImmutable: () -> IImmutableEffect

DropShadowEffectBase

base: Effect <- Animatable <- AvaloniaObject <- Object

Children: DropShadowDirectionEffect, DropShadowEffect

namespace Avalonia.Media

open Avalonia
open System
open System.Runtime.CompilerServices

[<AbstractClass; NullableContext; Nullable>]
type DropShadowEffectBase =
    inherit Effect

    // static initonly fields
    val BlurRadiusProperty: StyledProperty<Double> // static, C# readonly
    val ColorProperty: StyledProperty<Color> // static, C# readonly
    val OpacityProperty: StyledProperty<Double> // static, C# readonly

    // properties
    member BlurRadius: Double with get, set
    member Color: Color with get, set
    member Opacity: Double with get, set

DropShadowDirectionEffect

base: DropShadowEffectBase <- Effect <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open System
open System.Runtime.CompilerServices

type DropShadowDirectionEffect =
    inherit DropShadowEffectBase

    // constructors
    new: () -> DropShadowDirectionEffect

    // static initonly fields
    [<Nullable>]
    val ShadowDepthProperty: StyledProperty<Double> // static, C# readonly
    [<Nullable>]
    val DirectionProperty: StyledProperty<Double> // static, C# readonly

    // readonly properties
    member OffsetX: Double with get
    member OffsetY: Double with get

    // properties
    member ShadowDepth: Double with get, set
    member Direction: Double with get, set

    // methods
    [<NullableContext>]
    member ToImmutable: () -> IImmutableEffect

DropShadowEffect

base: DropShadowEffectBase <- Effect <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open System
open System.Runtime.CompilerServices

type DropShadowEffect =
    inherit DropShadowEffectBase

    // constructors
    new: () -> DropShadowEffect

    // static initonly fields
    [<Nullable>]
    val OffsetXProperty: StyledProperty<Double> // static, C# readonly
    [<Nullable>]
    val OffsetYProperty: StyledProperty<Double> // static, C# readonly

    // properties
    member OffsetX: Double with get, set
    member OffsetY: Double with get, set

    // methods
    [<NullableContext>]
    member ToImmutable: () -> IImmutableEffect

Transform

base: Animatable <- AvaloniaObject <- Object

Children: MatrixTransform, Rotate3DTransform, RotateTransform, ScaleTransform, SkewTransform, TransformGroup, TranslateTransform

namespace Avalonia.Media

open Avalonia
open Avalonia.Animation
open Avalonia.Media.Immutable
open System
open System.Runtime.CompilerServices

[<AbstractClass; NullableContext; Nullable>]
type Transform =
    inherit Animatable

    // static methods
    static member Parse: (s:String) -> Transform

    // events
    [<CLIEvent; Nullable>]
    member Changed: EventHandler // with add, remove

    // readonly properties
    abstract member Value: Matrix with get

    // methods
    member ToImmutable: () -> ImmutableTransform
    member ToString: () -> String

MatrixTransform

base: Transform <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open System.Runtime.CompilerServices

type MatrixTransform =
    inherit Transform

    // constructors
    new: () -> MatrixTransform
    new: (matrix:Matrix) -> MatrixTransform

    // static initonly fields
    [<Nullable>]
    val MatrixProperty: StyledProperty<Matrix> // static, C# readonly

    // readonly properties
    member Value: Matrix with get

    // properties
    member Matrix: Matrix with get, set

Rotate3DTransform

base: Transform <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type Rotate3DTransform =
    inherit Transform

    // constructors
    new: () -> Rotate3DTransform
    new: (angleX:Double * angleY:Double * angleZ:Double * centerX:Double * centerY:Double * centerZ:Double * depth:Double) -> Rotate3DTransform

    // static initonly fields
    val AngleXProperty: StyledProperty<Double> // static, C# readonly
    val AngleYProperty: StyledProperty<Double> // static, C# readonly
    val AngleZProperty: StyledProperty<Double> // static, C# readonly
    val CenterXProperty: StyledProperty<Double> // static, C# readonly
    val CenterYProperty: StyledProperty<Double> // static, C# readonly
    val CenterZProperty: StyledProperty<Double> // static, C# readonly
    val DepthProperty: StyledProperty<Double> // static, C# readonly

    // readonly properties
    member Value: Matrix with get

    // properties
    member AngleX: Double with get, set
    member AngleY: Double with get, set
    member AngleZ: Double with get, set
    member CenterX: Double with get, set
    member CenterY: Double with get, set
    member CenterZ: Double with get, set
    member Depth: Double with get, set

RotateTransform

base: Transform <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type RotateTransform =
    inherit Transform

    // constructors
    new: () -> RotateTransform
    new: (angle:Double) -> RotateTransform
    new: (angle:Double * centerX:Double * centerY:Double) -> RotateTransform

    // static initonly fields
    val AngleProperty: StyledProperty<Double> // static, C# readonly
    val CenterXProperty: StyledProperty<Double> // static, C# readonly
    val CenterYProperty: StyledProperty<Double> // static, C# readonly

    // readonly properties
    member Value: Matrix with get

    // properties
    member Angle: Double with get, set
    member CenterX: Double with get, set
    member CenterY: Double with get, set

ScaleTransform

base: Transform <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type ScaleTransform =
    inherit Transform

    // constructors
    new: () -> ScaleTransform
    new: (scaleX:Double * scaleY:Double) -> ScaleTransform

    // static initonly fields
    val ScaleXProperty: StyledProperty<Double> // static, C# readonly
    val ScaleYProperty: StyledProperty<Double> // static, C# readonly

    // readonly properties
    member Value: Matrix with get

    // properties
    member ScaleX: Double with get, set
    member ScaleY: Double with get, set

SkewTransform

base: Transform <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type SkewTransform =
    inherit Transform

    // constructors
    new: () -> SkewTransform
    new: (angleX:Double * angleY:Double) -> SkewTransform

    // static initonly fields
    val AngleXProperty: StyledProperty<Double> // static, C# readonly
    val AngleYProperty: StyledProperty<Double> // static, C# readonly

    // readonly properties
    member Value: Matrix with get

    // properties
    member AngleX: Double with get, set
    member AngleY: Double with get, set

TransformGroup

base: Transform <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open Avalonia.Metadata
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type TransformGroup =
    inherit Transform

    // constructors
    new: () -> TransformGroup

    // static initonly fields
    val ChildrenProperty: StyledProperty<Transforms> // static, C# readonly

    // readonly properties
    member Value: Matrix with get

    // properties
    [<Content>]
    member Children: Transforms with get, set

TranslateTransform

base: Transform <- Animatable <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type TranslateTransform =
    inherit Transform

    // constructors
    new: () -> TranslateTransform
    new: (x:Double * y:Double) -> TranslateTransform

    // static initonly fields
    val XProperty: StyledProperty<Double> // static, C# readonly
    val YProperty: StyledProperty<Double> // static, C# readonly

    // readonly properties
    member Value: Matrix with get

    // properties
    member X: Double with get, set
    member Y: Double with get, set

Animation

base: AvaloniaObject <- Object

namespace Avalonia.Animation

open Avalonia
open Avalonia.Animation.Easings
open Avalonia.Metadata
open System
open System.Runtime.CompilerServices
open System.Threading
open System.Threading.Tasks

[<NullableContext; Nullable>]
type Animation =
    inherit AvaloniaObject

    // constructors
    new: () -> Animation

    // static initonly fields
    val DurationProperty: DirectProperty<Animation, TimeSpan> // static, C# readonly
    val IterationCountProperty: DirectProperty<Animation, IterationCount> // static, C# readonly
    val PlaybackDirectionProperty: DirectProperty<Animation, PlaybackDirection> // static, C# readonly
    val FillModeProperty: DirectProperty<Animation, FillMode> // static, C# readonly
    val EasingProperty: DirectProperty<Animation, Easing> // static, C# readonly
    val DelayProperty: DirectProperty<Animation, TimeSpan> // static, C# readonly
    val DelayBetweenIterationsProperty: DirectProperty<Animation, TimeSpan> // static, C# readonly
    val SpeedRatioProperty: DirectProperty<Animation, Double> // static, C# readonly

    // static methods
    [<Obsolete>]
    static member SetAnimator: (setter:IAnimationSetter * value:CustomAnimatorBase) -> Void
    static member SetAnimator: (setter:IAnimationSetter * value:ICustomAnimator) -> Void
    [<NullableContext>]
    static member RegisterCustomAnimator: () -> Void

    // readonly properties
    [<Content>]
    member Children: KeyFrames with get

    // properties
    member Duration: TimeSpan with get, set
    member IterationCount: IterationCount with get, set
    member PlaybackDirection: PlaybackDirection with get, set
    member FillMode: FillMode with get, set
    member Easing: Easing with get, set
    member Delay: TimeSpan with get, set
    member DelayBetweenIterations: TimeSpan with get, set
    member SpeedRatio: Double with get, set

    // methods
    member RunAsync: (control:Animatable * cancellationToken:CancellationToken) -> Task

KeyFrame

base: AvaloniaObject <- Object

namespace Avalonia.Animation

open Avalonia
open Avalonia.Collections
open Avalonia.Metadata
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type KeyFrame =
    inherit AvaloniaObject

    // constructors
    new: () -> KeyFrame

    // readonly properties
    [<Nullable; Content>]
    member Setters: AvaloniaList<IAnimationSetter> with get

    // properties
    member KeyTime: TimeSpan with get, set
    member Cue: Cue with get, set
    member KeySpline: KeySpline with get, set

KeySpline

base: AvaloniaObject <- Object

namespace Avalonia.Animation

open Avalonia
open System
open System.ComponentModel
open System.Globalization
open System.Runtime.CompilerServices

[<TypeConverter>]
type KeySpline =
    inherit AvaloniaObject

    // constructors
    new: () -> KeySpline
    new: (x1:Double * y1:Double * x2:Double * y2:Double) -> KeySpline

    // static methods
    [<NullableContext>]
    static member Parse: (value:String * culture:CultureInfo) -> KeySpline

    // properties
    member ControlPointX1: Double with get, set
    member ControlPointY1: Double with get, set
    member ControlPointX2: Double with get, set
    member ControlPointY2: Double with get, set

    // methods
    member GetSplineProgress: (linearProgress:Double) -> Double
    member IsValid: () -> Boolean

Transition<'T>

base: AvaloniaObject <- Object

Children: BoxShadowsTransition, BrushTransition, ColorTransition, CornerRadiusTransition, DoubleTransition, EffectTransition, FloatTransition, IntegerTransition, InterpolatingTransitionBase<'T>, PointTransition, RelativePointTransition, SizeTransition, ThicknessTransition, TransformOperationsTransition, VectorTransition

namespace Avalonia.Animation

open Avalonia
open Avalonia.Animation.Easings
open System
open System.Runtime.CompilerServices

[<AbstractClass; NullableContext; Nullable>]
type Transition<'T> =
    inherit AvaloniaObject

    // properties
    member Duration: TimeSpan with get, set
    member Delay: TimeSpan with get, set
    member Easing: Easing with get, set
    [<Nullable>]
    member Property: AvaloniaProperty with get, set

BoxShadowsTransition

base: Transition<'T> <- AvaloniaObject <- Object

namespace Avalonia.Animation

open Avalonia.Media

type BoxShadowsTransition =
    inherit Transition<BoxShadows>

    // constructors
    new: () -> BoxShadowsTransition

BrushTransition

base: Transition<'T> <- AvaloniaObject <- Object

namespace Avalonia.Animation

open Avalonia.Media
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type BrushTransition =
    inherit Transition<IBrush>

    // constructors
    new: () -> BrushTransition

ColorTransition

base: Transition<'T> <- AvaloniaObject <- Object

namespace Avalonia.Animation

open Avalonia.Media

type ColorTransition =
    inherit Transition<Color>

    // constructors
    new: () -> ColorTransition

CornerRadiusTransition

base: Transition<'T> <- AvaloniaObject <- Object

namespace Avalonia.Animation

open Avalonia

type CornerRadiusTransition =
    inherit Transition<CornerRadius>

    // constructors
    new: () -> CornerRadiusTransition

DoubleTransition

base: Transition<'T> <- AvaloniaObject <- Object

namespace Avalonia.Animation

open System

type DoubleTransition =
    inherit Transition<Double>

    // constructors
    new: () -> DoubleTransition

EffectTransition

base: Transition<'T> <- AvaloniaObject <- Object

namespace Avalonia.Animation

open Avalonia.Media
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type EffectTransition =
    inherit Transition<IEffect>

    // constructors
    new: () -> EffectTransition

FloatTransition

base: Transition<'T> <- AvaloniaObject <- Object

namespace Avalonia.Animation

open System

type FloatTransition =
    inherit Transition<Single>

    // constructors
    new: () -> FloatTransition

IntegerTransition

base: Transition<'T> <- AvaloniaObject <- Object

namespace Avalonia.Animation

open System

type IntegerTransition =
    inherit Transition<Int32>

    // constructors
    new: () -> IntegerTransition

InterpolatingTransitionBase<'T>

base: Transition<'T> <- AvaloniaObject <- Object

namespace Avalonia.Animation

open System.Runtime.CompilerServices

[<AbstractClass; NullableContext; Nullable>]
type InterpolatingTransitionBase<'T> =
    inherit Transition<'T>

PointTransition

base: Transition<'T> <- AvaloniaObject <- Object

namespace Avalonia.Animation

open Avalonia

type PointTransition =
    inherit Transition<Point>

    // constructors
    new: () -> PointTransition

RelativePointTransition

base: Transition<'T> <- AvaloniaObject <- Object

namespace Avalonia.Animation

open Avalonia

type RelativePointTransition =
    inherit Transition<RelativePoint>

    // constructors
    new: () -> RelativePointTransition

SizeTransition

base: Transition<'T> <- AvaloniaObject <- Object

namespace Avalonia.Animation

open Avalonia

type SizeTransition =
    inherit Transition<Size>

    // constructors
    new: () -> SizeTransition

ThicknessTransition

base: Transition<'T> <- AvaloniaObject <- Object

namespace Avalonia.Animation

open Avalonia

type ThicknessTransition =
    inherit Transition<Thickness>

    // constructors
    new: () -> ThicknessTransition

TransformOperationsTransition

base: Transition<'T> <- AvaloniaObject <- Object

namespace Avalonia.Animation

open Avalonia.Media
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type TransformOperationsTransition =
    inherit Transition<ITransform>

    // constructors
    new: () -> TransformOperationsTransition

VectorTransition

base: Transition<'T> <- AvaloniaObject <- Object

namespace Avalonia.Animation

open Avalonia

type VectorTransition =
    inherit Transition<Vector>

    // constructors
    new: () -> VectorTransition

DataGridColumn

base: AvaloniaObject <- Object

Children: DataGridBoundColumn, DataGridTemplateColumn

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Templates
open Avalonia.Data
open Avalonia.Styling
open System
open System.Collections
open System.ComponentModel

[<AbstractClass>]
type DataGridColumn =
    inherit AvaloniaObject

    // static initonly fields
    val IsVisibleProperty: StyledProperty<Boolean> // static, C# readonly
    val CellThemeProperty: DirectProperty<DataGridColumn, ControlTheme> // static, C# readonly
    val HeaderProperty: DirectProperty<DataGridColumn, Object> // static, C# readonly
    val HeaderTemplateProperty: DirectProperty<DataGridColumn, IDataTemplate> // static, C# readonly

    // static methods
    static member GetColumnContainingElement: (element:Control) -> DataGridColumn

    // readonly properties
    member ActualWidth: Double with get
    member CellStyleClasses: Classes with get

    // properties
    member IsVisible: Boolean with get, set
    member CanUserReorder: Boolean with get, set
    member CanUserResize: Boolean with get, set
    member CanUserSort: Boolean with get, set
    member DisplayIndex: Int32 with get, set
    member CellTheme: ControlTheme with get, set
    member Header: Object with get, set
    member HeaderTemplate: IDataTemplate with get, set
    member IsAutoGenerated: Boolean with get
    member IsFrozen: Boolean with get
    member IsReadOnly: Boolean with get, set
    member MaxWidth: Double with get, set
    member MinWidth: Double with get, set
    member Width: DataGridLength with get, set
    member ClipboardContentBinding: IBinding with get, set
    member SortMemberPath: String with get, set
    member Tag: Object with get, set
    member CustomSortComparer: IComparer with get, set

    // methods
    member GetCellContent: (dataGridRow:DataGridRow) -> Control
    member GetCellContent: (dataItem:Object) -> Control
    member ClearSort: () -> Void
    member Sort: () -> Void
    member Sort: (direction:ListSortDirection) -> Void

DataGridBoundColumn

base: DataGridColumn <- AvaloniaObject <- Object

Children: DataGridCheckBoxColumn, DataGridTextColumn

namespace Avalonia.Controls

open Avalonia.Data
open Avalonia.Metadata

[<AbstractClass>]
type DataGridBoundColumn =
    inherit DataGridColumn

    // properties
    [<AssignBinding; InheritDataTypeFromItems>]
    member Binding: IBinding with get, set
    member ClipboardContentBinding: IBinding with get, set

DataGridCheckBoxColumn

base: DataGridBoundColumn <- DataGridColumn <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open System

type DataGridCheckBoxColumn =
    inherit DataGridBoundColumn

    // constructors
    new: () -> DataGridCheckBoxColumn

    // static initonly fields
    val IsThreeStateProperty: StyledProperty<Boolean> // static, C# readonly

    // properties
    member IsThreeState: Boolean with get, set

DataGridTextColumn

base: DataGridBoundColumn <- DataGridColumn <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Media
open System
open System.ComponentModel

type DataGridTextColumn =
    inherit DataGridBoundColumn

    // constructors
    new: () -> DataGridTextColumn

    // static initonly fields
    val FontFamilyProperty: AttachedProperty<FontFamily> // static, C# readonly
    val FontSizeProperty: AttachedProperty<Double> // static, C# readonly
    val FontStyleProperty: AttachedProperty<FontStyle> // static, C# readonly
    val FontWeightProperty: AttachedProperty<FontWeight> // static, C# readonly
    val FontStretchProperty: AttachedProperty<FontStretch> // static, C# readonly
    val ForegroundProperty: AttachedProperty<IBrush> // static, C# readonly

    // properties
    member FontFamily: FontFamily with get, set
    [<DefaultValue>]
    member FontSize: Double with get, set
    member FontStyle: FontStyle with get, set
    member FontWeight: FontWeight with get, set
    member FontStretch: FontStretch with get, set
    member Foreground: IBrush with get, set

DataGridTemplateColumn

base: DataGridColumn <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Templates
open Avalonia.Metadata
open System

type DataGridTemplateColumn =
    inherit DataGridColumn

    // constructors
    new: () -> DataGridTemplateColumn

    // static initonly fields
    val CellTemplateProperty: DirectProperty<DataGridTemplateColumn, IDataTemplate> // static, C# readonly
    val CellEditingTemplateProperty: DirectProperty<DataGridTemplateColumn, IDataTemplate> // static, C# readonly

    // properties
    [<Content; InheritDataTypeFromItems>]
    member CellTemplate: IDataTemplate with get, set
    [<InheritDataTypeFromItems>]
    member CellEditingTemplate: IDataTemplate with get, set
    member IsReadOnly: Boolean with get, set

DefinitionBase

base: AvaloniaObject <- Object

Children: ColumnDefinition, RowDefinition

namespace Avalonia.Controls

open Avalonia
open System
open System.Runtime.CompilerServices

[<AbstractClass; NullableContext; Nullable>]
type DefinitionBase =
    inherit AvaloniaObject

    // static initonly fields
    [<Nullable>]
    val SharedSizeGroupProperty: AttachedProperty<String> // static, C# readonly

    // properties
    member SharedSizeGroup: String with get, set

ColumnDefinition

base: DefinitionBase <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type ColumnDefinition =
    inherit DefinitionBase

    // constructors
    new: () -> ColumnDefinition
    new: (value:Double * type:GridUnitType) -> ColumnDefinition
    new: (width:GridLength) -> ColumnDefinition

    // static initonly fields
    val MaxWidthProperty: StyledProperty<Double> // static, C# readonly
    val MinWidthProperty: StyledProperty<Double> // static, C# readonly
    val WidthProperty: StyledProperty<GridLength> // static, C# readonly

    // readonly properties
    member ActualWidth: Double with get

    // properties
    member MaxWidth: Double with get, set
    member MinWidth: Double with get, set
    member Width: GridLength with get, set

RowDefinition

base: DefinitionBase <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type RowDefinition =
    inherit DefinitionBase

    // constructors
    new: () -> RowDefinition
    new: (value:Double * type:GridUnitType) -> RowDefinition
    new: (height:GridLength) -> RowDefinition

    // static initonly fields
    val MaxHeightProperty: StyledProperty<Double> // static, C# readonly
    val MinHeightProperty: StyledProperty<Double> // static, C# readonly
    val HeightProperty: StyledProperty<GridLength> // static, C# readonly

    // readonly properties
    member ActualHeight: Double with get

    // properties
    member MaxHeight: Double with get, set
    member MinHeight: Double with get, set
    member Height: GridLength with get, set

NativeMenu

base: AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Metadata
open System
open System.Collections.Generic
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type NativeMenu =
    inherit AvaloniaObject

    // constructors
    new: () -> NativeMenu

    // static initonly fields
    [<Nullable>]
    val ParentProperty: DirectProperty<NativeMenu, NativeMenuItem> // static, C# readonly
    val IsNativeMenuExportedProperty: AttachedProperty<Boolean> // static, C# readonly
    [<Nullable>]
    val MenuProperty: AttachedProperty<NativeMenu> // static, C# readonly

    // static methods
    static member GetIsNativeMenuExported: (tl:TopLevel) -> Boolean
    static member SetMenu: (o:AvaloniaObject * menu:NativeMenu) -> Void
    static member GetMenu: (o:AvaloniaObject) -> NativeMenu

    // events
    [<CLIEvent; Nullable>]
    member NeedsUpdate: EventHandler<EventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member Opening: EventHandler<EventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member Closed: EventHandler<EventArgs> // with add, remove

    // readonly properties
    [<Content>]
    member Items: IList<NativeMenuItemBase> with get

    // properties
    [<Nullable>]
    member Parent: NativeMenuItem with get

    // methods
    member Add: (item:NativeMenuItemBase) -> Void
    member GetEnumerator: () -> IEnumerator<NativeMenuItemBase>

NativeMenuItemBase

base: AvaloniaObject <- Object

Children: NativeMenuItem

namespace Avalonia.Controls

open Avalonia
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type NativeMenuItemBase =
    inherit AvaloniaObject

    // static initonly fields
    [<Nullable>]
    val ParentProperty: DirectProperty<NativeMenuItemBase, NativeMenu> // static, C# readonly

    // properties
    member Parent: NativeMenu with get

NativeMenuItem

base: NativeMenuItemBase <- AvaloniaObject <- Object

Children: NativeMenuItemSeparator

namespace Avalonia.Controls

open Avalonia
open Avalonia.Input
open Avalonia.Media.Imaging
open Avalonia.Metadata
open System
open System.Runtime.CompilerServices
open System.Windows.Input

[<NullableContext; Nullable>]
type NativeMenuItem =
    inherit NativeMenuItemBase

    // constructors
    new: () -> NativeMenuItem
    [<NullableContext>]
    new: (header:String) -> NativeMenuItem

    // static initonly fields
    [<Nullable>]
    val MenuProperty: StyledProperty<NativeMenu> // static, C# readonly
    [<Nullable>]
    val IconProperty: StyledProperty<Bitmap> // static, C# readonly
    [<Nullable>]
    val HeaderProperty: StyledProperty<String> // static, C# readonly
    [<Nullable>]
    val GestureProperty: StyledProperty<KeyGesture> // static, C# readonly
    [<Nullable>]
    val IsCheckedProperty: StyledProperty<Boolean> // static, C# readonly
    [<Nullable>]
    val ToggleTypeProperty: StyledProperty<NativeMenuItemToggleType> // static, C# readonly
    [<Nullable>]
    val CommandProperty: StyledProperty<ICommand> // static, C# readonly
    [<Nullable>]
    val CommandParameterProperty: StyledProperty<Object> // static, C# readonly
    [<Nullable>]
    val IsEnabledProperty: StyledProperty<Boolean> // static, C# readonly

    // events
    [<CLIEvent>]
    member Click: EventHandler // with add, remove

    // readonly properties
    member HasClickHandlers: Boolean with get

    // properties
    [<Content>]
    member Menu: NativeMenu with get, set
    member Icon: Bitmap with get, set
    member Header: String with get, set
    member Gesture: KeyGesture with get, set
    member IsChecked: Boolean with get, set
    member ToggleType: NativeMenuItemToggleType with get, set
    member IsEnabled: Boolean with get, set
    member Command: ICommand with get, set
    member CommandParameter: Object with get, set

NativeMenuItemSeparator

base: NativeMenuItem <- NativeMenuItemBase <- AvaloniaObject <- Object

namespace Avalonia.Controls


type NativeMenuItemSeparator =
    inherit NativeMenuItem

    // constructors
    new: () -> NativeMenuItemSeparator

ProgressBarTemplateSettings

base: AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open System
open System.Runtime.CompilerServices

[<Nullable>]
type ProgressBarTemplateSettings =
    inherit AvaloniaObject

    // constructors
    new: () -> ProgressBarTemplateSettings

    // static initonly fields
    val ContainerAnimationStartPositionProperty: DirectProperty<ProgressBarTemplateSettings, Double> // static, C# readonly
    val ContainerAnimationEndPositionProperty: DirectProperty<ProgressBarTemplateSettings, Double> // static, C# readonly
    val Container2AnimationStartPositionProperty: DirectProperty<ProgressBarTemplateSettings, Double> // static, C# readonly
    val Container2AnimationEndPositionProperty: DirectProperty<ProgressBarTemplateSettings, Double> // static, C# readonly
    val Container2WidthProperty: DirectProperty<ProgressBarTemplateSettings, Double> // static, C# readonly
    val ContainerWidthProperty: DirectProperty<ProgressBarTemplateSettings, Double> // static, C# readonly
    val IndeterminateStartingOffsetProperty: DirectProperty<ProgressBarTemplateSettings, Double> // static, C# readonly
    val IndeterminateEndingOffsetProperty: DirectProperty<ProgressBarTemplateSettings, Double> // static, C# readonly

    // properties
    member ContainerWidth: Double with get, set
    member Container2Width: Double with get, set
    member ContainerAnimationStartPosition: Double with get, set
    member ContainerAnimationEndPosition: Double with get, set
    member Container2AnimationStartPosition: Double with get, set
    member Container2AnimationEndPosition: Double with get, set
    member IndeterminateStartingOffset: Double with get, set
    member IndeterminateEndingOffset: Double with get, set

TrayIcon

base: AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Platform
open System
open System.Runtime.CompilerServices
open System.Windows.Input

[<NullableContext; Nullable>]
type TrayIcon =
    inherit AvaloniaObject

    // constructors
    new: () -> TrayIcon

    // static initonly fields
    [<Nullable>]
    val CommandProperty: StyledProperty<ICommand> // static, C# readonly
    [<Nullable>]
    val CommandParameterProperty: StyledProperty<Object> // static, C# readonly
    [<Nullable>]
    val IconsProperty: AttachedProperty<TrayIcons> // static, C# readonly
    [<Nullable>]
    val MenuProperty: StyledProperty<NativeMenu> // static, C# readonly
    [<Nullable>]
    val IconProperty: StyledProperty<WindowIcon> // static, C# readonly
    [<Nullable>]
    val ToolTipTextProperty: StyledProperty<String> // static, C# readonly
    [<Nullable>]
    val IsVisibleProperty: StyledProperty<Boolean> // static, C# readonly

    // static methods
    [<NullableContext>]
    static member SetIcons: (o:Application * trayIcons:TrayIcons) -> Void
    [<NullableContext>]
    static member GetIcons: (o:Application) -> TrayIcons

    // events
    [<CLIEvent>]
    member Clicked: EventHandler // with add, remove

    // readonly properties
    member NativeMenuExporter: INativeMenuExporter with get

    // properties
    member Command: ICommand with get, set
    member CommandParameter: Object with get, set
    member Menu: NativeMenu with get, set
    member Icon: WindowIcon with get, set
    member ToolTipText: String with get, set
    member IsVisible: Boolean with get, set

    // methods
    member Dispose: () -> Void

FlyoutBase

base: AvaloniaObject <- Object

Children: PopupFlyoutBase

namespace Avalonia.Controls.Primitives

open Avalonia
open Avalonia.Controls
open System
open System.Runtime.CompilerServices

[<AbstractClass; NullableContext; Nullable>]
type FlyoutBase =
    inherit AvaloniaObject

    // static initonly fields
    [<Nullable>]
    val IsOpenProperty: DirectProperty<FlyoutBase, Boolean> // static, C# readonly
    [<Nullable>]
    val TargetProperty: DirectProperty<FlyoutBase, Control> // static, C# readonly
    [<Nullable>]
    val AttachedFlyoutProperty: AttachedProperty<FlyoutBase> // static, C# readonly

    // static methods
    [<NullableContext>]
    static member GetAttachedFlyout: (element:Control) -> FlyoutBase
    [<NullableContext>]
    static member SetAttachedFlyout: (element:Control * value:FlyoutBase) -> Void
    [<NullableContext>]
    static member ShowAttachedFlyout: (flyoutOwner:Control) -> Void

    // events
    [<CLIEvent>]
    member Opened: EventHandler // with add, remove
    [<CLIEvent>]
    member Closed: EventHandler // with add, remove

    // properties
    member IsOpen: Boolean with get
    member Target: Control with get

    // methods
    [<NullableContext>]
    abstract member ShowAt: (placementTarget:Control) -> Void
    abstract member Hide: () -> Void

PopupFlyoutBase

base: FlyoutBase <- AvaloniaObject <- Object

Children: Flyout, MenuFlyout

namespace Avalonia.Controls.Primitives

open Avalonia
open Avalonia.Controls
open Avalonia.Controls.Primitives.PopupPositioning
open Avalonia.Input
open System
open System.ComponentModel
open System.Runtime.CompilerServices

[<AbstractClass; NullableContext; Nullable>]
type PopupFlyoutBase =
    inherit FlyoutBase

    // constructors
    new: () -> PopupFlyoutBase

    // static initonly fields
    val PlacementProperty: StyledProperty<PlacementMode> // static, C# readonly
    val HorizontalOffsetProperty: StyledProperty<Double> // static, C# readonly
    val VerticalOffsetProperty: StyledProperty<Double> // static, C# readonly
    val PlacementAnchorProperty: StyledProperty<PopupAnchor> // static, C# readonly
    val PlacementGravityProperty: StyledProperty<PopupGravity> // static, C# readonly
    val ShowModeProperty: StyledProperty<FlyoutShowMode> // static, C# readonly
    [<Nullable>]
    val OverlayInputPassThroughElementProperty: StyledProperty<IInputElement> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member Closing: EventHandler<CancelEventArgs> // with add, remove
    [<CLIEvent; Nullable>]
    member Opening: EventHandler // with add, remove

    // properties
    member Placement: PlacementMode with get, set
    member PlacementGravity: PopupGravity with get, set
    member PlacementAnchor: PopupAnchor with get, set
    member HorizontalOffset: Double with get, set
    member VerticalOffset: Double with get, set
    member ShowMode: FlyoutShowMode with get, set
    [<Nullable>]
    member OverlayInputPassThroughElement: IInputElement with get, set

    // methods
    member ShowAt: (placementTarget:Control) -> Void
    member ShowAt: (placementTarget:Control * showAtPointer:Boolean) -> Void
    member Hide: () -> Void

Flyout

base: PopupFlyoutBase <- FlyoutBase <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Primitives
open Avalonia.Metadata
open Avalonia.Styling
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type Flyout =
    inherit PopupFlyoutBase

    // constructors
    new: () -> Flyout

    // static initonly fields
    val ContentProperty: StyledProperty<Object> // static, C# readonly
    [<Nullable>]
    val FlyoutPresenterThemeProperty: StyledProperty<ControlTheme> // static, C# readonly

    // readonly properties
    member FlyoutPresenterClasses: Classes with get

    // properties
    [<Nullable>]
    member FlyoutPresenterTheme: ControlTheme with get, set
    [<Content>]
    member Content: Object with get, set

MenuFlyout

base: PopupFlyoutBase <- FlyoutBase <- AvaloniaObject <- Object

namespace Avalonia.Controls

open Avalonia
open Avalonia.Controls.Primitives
open Avalonia.Controls.Templates
open Avalonia.Metadata
open Avalonia.Styling
open System.Collections
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type MenuFlyout =
    inherit PopupFlyoutBase

    // constructors
    new: () -> MenuFlyout

    // static initonly fields
    [<Nullable>]
    val ItemsSourceProperty: StyledProperty<IEnumerable> // static, C# readonly
    [<Nullable>]
    val ItemTemplateProperty: StyledProperty<IDataTemplate> // static, C# readonly
    [<Nullable>]
    val ItemContainerThemeProperty: StyledProperty<ControlTheme> // static, C# readonly
    [<Nullable>]
    val FlyoutPresenterThemeProperty: StyledProperty<ControlTheme> // static, C# readonly

    // readonly properties
    [<Nullable>]
    member FlyoutPresenterClasses: Classes with get
    [<Nullable; Content>]
    member Items: ItemCollection with get

    // properties
    member ItemsSource: IEnumerable with get, set
    member ItemTemplate: IDataTemplate with get, set
    member ItemContainerTheme: ControlTheme with get, set
    member FlyoutPresenterTheme: ControlTheme with get, set

SplitViewTemplateSettings

base: AvaloniaObject <- Object

namespace Avalonia.Controls.Primitives

open Avalonia
open Avalonia.Controls
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type SplitViewTemplateSettings =
    inherit AvaloniaObject

    // static initonly fields
    val ClosedPaneWidthProperty: StyledProperty<Double> // static, C# readonly
    val PaneColumnGridLengthProperty: StyledProperty<GridLength> // static, C# readonly

    // properties
    member ClosedPaneWidth: Double with get
    member PaneColumnGridLength: GridLength with get

KeyBinding

base: AvaloniaObject <- Object

namespace Avalonia.Input

open Avalonia
open System
open System.Runtime.CompilerServices
open System.Windows.Input

[<NullableContext; Nullable>]
type KeyBinding =
    inherit AvaloniaObject

    // constructors
    new: () -> KeyBinding

    // static initonly fields
    val CommandProperty: StyledProperty<ICommand> // static, C# readonly
    val CommandParameterProperty: StyledProperty<Object> // static, C# readonly
    val GestureProperty: StyledProperty<KeyGesture> // static, C# readonly

    // properties
    member Command: ICommand with get, set
    member CommandParameter: Object with get, set
    member Gesture: KeyGesture with get, set

    // methods
    member TryHandle: (args:KeyEventArgs) -> Void

Drawing

base: AvaloniaObject <- Object

Children: DrawingGroup, GeometryDrawing, GlyphRunDrawing, ImageDrawing

namespace Avalonia.Media

open Avalonia
open System
open System.Runtime.CompilerServices

[<AbstractClass; NullableContext; Nullable>]
type Drawing =
    inherit AvaloniaObject

    // methods
    member Draw: (context:DrawingContext) -> Void
    abstract member GetBounds: () -> Rect

DrawingGroup

base: Drawing <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open Avalonia.Metadata
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type DrawingGroup =
    inherit Drawing

    // constructors
    new: () -> DrawingGroup

    // static initonly fields
    val OpacityProperty: StyledProperty<Double> // static, C# readonly
    [<Nullable>]
    val TransformProperty: StyledProperty<Transform> // static, C# readonly
    [<Nullable>]
    val ClipGeometryProperty: StyledProperty<Geometry> // static, C# readonly
    [<Nullable>]
    val OpacityMaskProperty: StyledProperty<IBrush> // static, C# readonly
    val ChildrenProperty: DirectProperty<DrawingGroup, DrawingCollection> // static, C# readonly

    // properties
    member Opacity: Double with get, set
    [<Nullable>]
    member Transform: Transform with get, set
    [<Nullable>]
    member ClipGeometry: Geometry with get, set
    [<Nullable>]
    member OpacityMask: IBrush with get, set
    [<Content>]
    member Children: DrawingCollection with get, set

    // methods
    member Open: () -> DrawingContext
    member GetBounds: () -> Rect

GeometryDrawing

base: Drawing <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open Avalonia.Metadata
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type GeometryDrawing =
    inherit Drawing

    // constructors
    new: () -> GeometryDrawing

    // static initonly fields
    [<Nullable>]
    val GeometryProperty: StyledProperty<Geometry> // static, C# readonly
    [<Nullable>]
    val BrushProperty: StyledProperty<IBrush> // static, C# readonly
    [<Nullable>]
    val PenProperty: StyledProperty<IPen> // static, C# readonly

    // properties
    [<Content>]
    member Geometry: Geometry with get, set
    member Brush: IBrush with get, set
    member Pen: IPen with get, set

    // methods
    member GetBounds: () -> Rect

GlyphRunDrawing

base: Drawing <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type GlyphRunDrawing =
    inherit Drawing

    // constructors
    new: () -> GlyphRunDrawing

    // static initonly fields
    [<Nullable>]
    val ForegroundProperty: StyledProperty<IBrush> // static, C# readonly
    [<Nullable>]
    val GlyphRunProperty: StyledProperty<GlyphRun> // static, C# readonly

    // properties
    member Foreground: IBrush with get, set
    member GlyphRun: GlyphRun with get, set

    // methods
    member GetBounds: () -> Rect

ImageDrawing

base: Drawing <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type ImageDrawing =
    inherit Drawing

    // constructors
    new: () -> ImageDrawing

    // static initonly fields
    [<Nullable>]
    val ImageSourceProperty: StyledProperty<IImage> // static, C# readonly
    [<Nullable>]
    val RectProperty: StyledProperty<Rect> // static, C# readonly

    // properties
    member ImageSource: IImage with get, set
    member Rect: Rect with get, set

    // methods
    member GetBounds: () -> Rect

DrawingImage

base: AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open Avalonia.Metadata
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type DrawingImage =
    inherit AvaloniaObject

    // constructors
    new: () -> DrawingImage
    [<NullableContext>]
    new: (drawing:Drawing) -> DrawingImage

    // static initonly fields
    [<Nullable>]
    val DrawingProperty: StyledProperty<Drawing> // static, C# readonly

    // events
    [<CLIEvent>]
    member Invalidated: EventHandler // with add, remove

    // readonly properties
    member Size: Size with get

    // properties
    [<Content>]
    member Drawing: Drawing with get, set

ExperimentalAcrylicMaterial

base: AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type ExperimentalAcrylicMaterial =
    inherit AvaloniaObject

    // constructors
    new: () -> ExperimentalAcrylicMaterial

    // static initonly fields
    val TintColorProperty: StyledProperty<Color> // static, C# readonly
    val BackgroundSourceProperty: StyledProperty<AcrylicBackgroundSource> // static, C# readonly
    val TintOpacityProperty: StyledProperty<Double> // static, C# readonly
    val MaterialOpacityProperty: StyledProperty<Double> // static, C# readonly
    val PlatformTransparencyCompensationLevelProperty: StyledProperty<Double> // static, C# readonly
    val FallbackColorProperty: StyledProperty<Color> // static, C# readonly

    // events
    [<CLIEvent; Nullable>]
    member Invalidated: EventHandler // with add, remove

    // properties
    member BackgroundSource: AcrylicBackgroundSource with get, set
    member TintColor: Color with get, set
    member TintOpacity: Double with get, set
    member FallbackColor: Color with get, set
    member MaterialOpacity: Double with get, set
    member PlatformTransparencyCompensationLevel: Double with get, set

    // methods
    member ToImmutable: () -> IExperimentalAcrylicMaterial

Geometry

base: AvaloniaObject <- Object

Children: CombinedGeometry, EllipseGeometry, GeometryGroup, LineGeometry, PolylineGeometry, RectangleGeometry, StreamGeometry

namespace Avalonia.Media

open Avalonia
open System
open System.ComponentModel
open System.Runtime.CompilerServices

[<AbstractClass; NullableContext; Nullable; TypeConverter>]
type Geometry =
    inherit AvaloniaObject

    // static initonly fields
    [<Nullable>]
    val TransformProperty: StyledProperty<Transform> // static, C# readonly

    // static methods
    [<NullableContext>]
    static member Parse: (s:String) -> Geometry
    [<NullableContext>]
    static member Combine: (geometry1:Geometry * geometry2:RectangleGeometry * combineMode:GeometryCombineMode * transform:Transform) -> Geometry

    // events
    [<CLIEvent>]
    member Changed: EventHandler // with add, remove

    // readonly properties
    member Bounds: Rect with get
    member ContourLength: Double with get

    // properties
    member Transform: Transform with get, set

    // methods
    [<NullableContext>]
    abstract member Clone: () -> Geometry
    [<NullableContext>]
    member GetRenderBounds: (pen:IPen) -> Rect
    member FillContains: (point:Point) -> Boolean
    [<NullableContext>]
    member StrokeContains: (pen:IPen * point:Point) -> Boolean
    member TryGetPointAtDistance: (distance:Double * point:byref<Point>) -> Boolean
    member TryGetPointAndTangentAtDistance: (distance:Double * point:byref<Point> * tangent:byref<Point>) -> Boolean
    member TryGetSegment: (startDistance:Double * stopDistance:Double * startOnBeginFigure:Boolean * segmentGeometry:byref<Geometry>) -> Boolean

CombinedGeometry

base: Geometry <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type CombinedGeometry =
    inherit Geometry

    // constructors
    new: () -> CombinedGeometry
    [<NullableContext>]
    new: (geometry1:Geometry * geometry2:Geometry) -> CombinedGeometry
    new: (combineMode:GeometryCombineMode * geometry1:Geometry * geometry2:Geometry) -> CombinedGeometry
    new: (combineMode:GeometryCombineMode * geometry1:Geometry * geometry2:Geometry * transform:Transform) -> CombinedGeometry

    // static initonly fields
    [<Nullable>]
    val Geometry1Property: StyledProperty<Geometry> // static, C# readonly
    [<Nullable>]
    val Geometry2Property: StyledProperty<Geometry> // static, C# readonly
    [<Nullable>]
    val GeometryCombineModeProperty: StyledProperty<GeometryCombineMode> // static, C# readonly

    // properties
    member Geometry1: Geometry with get, set
    member Geometry2: Geometry with get, set
    member GeometryCombineMode: GeometryCombineMode with get, set

    // methods
    [<NullableContext>]
    member Clone: () -> Geometry

EllipseGeometry

base: Geometry <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type EllipseGeometry =
    inherit Geometry

    // constructors
    new: () -> EllipseGeometry
    new: (rect:Rect) -> EllipseGeometry

    // static initonly fields
    val RectProperty: StyledProperty<Rect> // static, C# readonly
    val RadiusXProperty: StyledProperty<Double> // static, C# readonly
    val RadiusYProperty: StyledProperty<Double> // static, C# readonly
    val CenterProperty: StyledProperty<Point> // static, C# readonly

    // properties
    member Rect: Rect with get, set
    member RadiusX: Double with get, set
    member RadiusY: Double with get, set
    member Center: Point with get, set

    // methods
    member Clone: () -> Geometry

GeometryGroup

base: Geometry <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open Avalonia.Metadata
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type GeometryGroup =
    inherit Geometry

    // constructors
    new: () -> GeometryGroup

    // static initonly fields
    val ChildrenProperty: DirectProperty<GeometryGroup, GeometryCollection> // static, C# readonly
    val FillRuleProperty: StyledProperty<FillRule> // static, C# readonly

    // properties
    [<Content>]
    member Children: GeometryCollection with get, set
    member FillRule: FillRule with get, set

    // methods
    member Clone: () -> Geometry

LineGeometry

base: Geometry <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type LineGeometry =
    inherit Geometry

    // constructors
    new: () -> LineGeometry
    new: (startPoint:Point * endPoint:Point) -> LineGeometry

    // static initonly fields
    val StartPointProperty: StyledProperty<Point> // static, C# readonly
    val EndPointProperty: StyledProperty<Point> // static, C# readonly

    // properties
    member StartPoint: Point with get, set
    member EndPoint: Point with get, set

    // methods
    member Clone: () -> Geometry

PolylineGeometry

base: Geometry <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open Avalonia.Metadata
open System
open System.Collections.Generic
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type PolylineGeometry =
    inherit Geometry

    // constructors
    new: () -> PolylineGeometry
    new: (points:IEnumerable<Point> * isFilled:Boolean) -> PolylineGeometry

    // static initonly fields
    val PointsProperty: DirectProperty<PolylineGeometry, IList<Point>> // static, C# readonly
    val IsFilledProperty: StyledProperty<Boolean> // static, C# readonly

    // properties
    [<Content>]
    member Points: IList<Point> with get, set
    member IsFilled: Boolean with get, set

    // methods
    member Clone: () -> Geometry

RectangleGeometry

base: Geometry <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type RectangleGeometry =
    inherit Geometry

    // constructors
    new: () -> RectangleGeometry
    new: (rect:Rect) -> RectangleGeometry

    // static initonly fields
    val RectProperty: StyledProperty<Rect> // static, C# readonly

    // properties
    member Rect: Rect with get, set

    // methods
    member Clone: () -> Geometry

StreamGeometry

base: Geometry <- AvaloniaObject <- Object

Children: PathGeometry

namespace Avalonia.Media

open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type StreamGeometry =
    inherit Geometry

    // constructors
    new: () -> StreamGeometry

    // static methods
    static member Parse: (s:String) -> StreamGeometry

    // methods
    member Clone: () -> Geometry
    member Open: () -> StreamGeometryContext

PathGeometry

base: StreamGeometry <- Geometry <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open Avalonia.Metadata
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type PathGeometry =
    inherit StreamGeometry

    // constructors
    new: () -> PathGeometry

    // static initonly fields
    [<Nullable>]
    val FiguresProperty: DirectProperty<PathGeometry, PathFigures> // static, C# readonly
    [<Nullable>]
    val FillRuleProperty: StyledProperty<FillRule> // static, C# readonly

    // static methods
    [<NullableContext>]
    static member Parse: (pathData:String) -> PathGeometry

    // properties
    [<Content>]
    member Figures: PathFigures with get, set
    member FillRule: FillRule with get, set

    // methods
    [<NullableContext>]
    member ToString: () -> String

GradientStop

base: AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open System
open System.Runtime.CompilerServices

type GradientStop =
    inherit AvaloniaObject

    // constructors
    new: () -> GradientStop
    new: (color:Color * offset:Double) -> GradientStop

    // static initonly fields
    [<Nullable>]
    val OffsetProperty: StyledProperty<Double> // static, C# readonly
    [<Nullable>]
    val ColorProperty: StyledProperty<Color> // static, C# readonly

    // properties
    member Offset: Double with get, set
    member Color: Color with get, set

PathFigure

base: AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open Avalonia.Metadata
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type PathFigure =
    inherit AvaloniaObject

    // constructors
    new: () -> PathFigure

    // static initonly fields
    [<Nullable>]
    val IsClosedProperty: StyledProperty<Boolean> // static, C# readonly
    [<Nullable>]
    val IsFilledProperty: StyledProperty<Boolean> // static, C# readonly
    [<Nullable>]
    val SegmentsProperty: DirectProperty<PathFigure, PathSegments> // static, C# readonly
    [<Nullable>]
    val StartPointProperty: StyledProperty<Point> // static, C# readonly

    // properties
    member IsClosed: Boolean with get, set
    member IsFilled: Boolean with get, set
    [<Content>]
    member Segments: PathSegments with get, set
    member StartPoint: Point with get, set

    // methods
    [<NullableContext>]
    member ToString: () -> String

PathSegment

base: AvaloniaObject <- Object

Children: ArcSegment, BezierSegment, LineSegment, PolyLineSegment, QuadraticBezierSegment

namespace Avalonia.Media

open Avalonia

[<AbstractClass>]
type PathSegment =
    inherit AvaloniaObject

ArcSegment

base: PathSegment <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type ArcSegment =
    inherit PathSegment

    // constructors
    new: () -> ArcSegment

    // static initonly fields
    val IsLargeArcProperty: StyledProperty<Boolean> // static, C# readonly
    val PointProperty: StyledProperty<Point> // static, C# readonly
    val RotationAngleProperty: StyledProperty<Double> // static, C# readonly
    val SizeProperty: StyledProperty<Size> // static, C# readonly
    val SweepDirectionProperty: StyledProperty<SweepDirection> // static, C# readonly

    // properties
    member IsLargeArc: Boolean with get, set
    member Point: Point with get, set
    member RotationAngle: Double with get, set
    member Size: Size with get, set
    member SweepDirection: SweepDirection with get, set

    // methods
    member ToString: () -> String

BezierSegment

base: PathSegment <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type BezierSegment =
    inherit PathSegment

    // constructors
    new: () -> BezierSegment

    // static initonly fields
    val Point1Property: StyledProperty<Point> // static, C# readonly
    val Point2Property: StyledProperty<Point> // static, C# readonly
    val Point3Property: StyledProperty<Point> // static, C# readonly

    // properties
    member Point1: Point with get, set
    member Point2: Point with get, set
    member Point3: Point with get, set

    // methods
    member ToString: () -> String

LineSegment

base: PathSegment <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type LineSegment =
    inherit PathSegment

    // constructors
    new: () -> LineSegment

    // static initonly fields
    val PointProperty: StyledProperty<Point> // static, C# readonly

    // properties
    member Point: Point with get, set

    // methods
    member ToString: () -> String

PolyLineSegment

base: PathSegment <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open System
open System.Collections.Generic
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type PolyLineSegment =
    inherit PathSegment

    // constructors
    new: () -> PolyLineSegment
    new: (points:IEnumerable<Point>) -> PolyLineSegment

    // static initonly fields
    val PointsProperty: StyledProperty<IList<Point>> // static, C# readonly

    // properties
    member Points: IList<Point> with get, set

    // methods
    member ToString: () -> String

QuadraticBezierSegment

base: PathSegment <- AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type QuadraticBezierSegment =
    inherit PathSegment

    // constructors
    new: () -> QuadraticBezierSegment

    // static initonly fields
    val Point1Property: StyledProperty<Point> // static, C# readonly
    val Point2Property: StyledProperty<Point> // static, C# readonly

    // properties
    member Point1: Point with get, set
    member Point2: Point with get, set

    // methods
    member ToString: () -> String

Pen

base: AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open Avalonia.Media.Immutable
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type Pen =
    inherit AvaloniaObject

    // constructors
    new: () -> Pen
    [<NullableContext>]
    new: (color:UInt32 * thickness:Double * dashStyle:IDashStyle * lineCap:PenLineCap * lineJoin:PenLineJoin * miterLimit:Double) -> Pen
    [<NullableContext>]
    new: (brush:IBrush * thickness:Double * dashStyle:IDashStyle * lineCap:PenLineCap * lineJoin:PenLineJoin * miterLimit:Double) -> Pen

    // static initonly fields
    [<Nullable>]
    val BrushProperty: StyledProperty<IBrush> // static, C# readonly
    val ThicknessProperty: StyledProperty<Double> // static, C# readonly
    [<Nullable>]
    val DashStyleProperty: StyledProperty<IDashStyle> // static, C# readonly
    val LineCapProperty: StyledProperty<PenLineCap> // static, C# readonly
    val LineJoinProperty: StyledProperty<PenLineJoin> // static, C# readonly
    val MiterLimitProperty: StyledProperty<Double> // static, C# readonly

    // properties
    [<Nullable>]
    member Brush: IBrush with get, set
    member Thickness: Double with get, set
    [<Nullable>]
    member DashStyle: IDashStyle with get, set
    member LineCap: PenLineCap with get, set
    member LineJoin: PenLineJoin with get, set
    member MiterLimit: Double with get, set

    // methods
    member ToImmutable: () -> ImmutablePen

TextDecoration

base: AvaloniaObject <- Object

namespace Avalonia.Media

open Avalonia
open Avalonia.Collections
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type TextDecoration =
    inherit AvaloniaObject

    // constructors
    new: () -> TextDecoration

    // static initonly fields
    val LocationProperty: StyledProperty<TextDecorationLocation> // static, C# readonly
    [<Nullable>]
    val StrokeProperty: StyledProperty<IBrush> // static, C# readonly
    val StrokeThicknessUnitProperty: StyledProperty<TextDecorationUnit> // static, C# readonly
    [<Nullable>]
    val StrokeDashArrayProperty: StyledProperty<AvaloniaList<Double>> // static, C# readonly
    val StrokeDashOffsetProperty: StyledProperty<Double> // static, C# readonly
    val StrokeThicknessProperty: StyledProperty<Double> // static, C# readonly
    val StrokeLineCapProperty: StyledProperty<PenLineCap> // static, C# readonly
    val StrokeOffsetProperty: StyledProperty<Double> // static, C# readonly
    val StrokeOffsetUnitProperty: StyledProperty<TextDecorationUnit> // static, C# readonly

    // properties
    member Location: TextDecorationLocation with get, set
    [<Nullable>]
    member Stroke: IBrush with get, set
    member StrokeThicknessUnit: TextDecorationUnit with get, set
    [<Nullable>]
    member StrokeDashArray: AvaloniaList<Double> with get, set
    member StrokeDashOffset: Double with get, set
    member StrokeThickness: Double with get, set
    member StrokeLineCap: PenLineCap with get, set
    member StrokeOffset: Double with get, set
    member StrokeOffsetUnit: TextDecorationUnit with get, set

CroppedBitmap

base: AvaloniaObject <- Object

namespace Avalonia.Media.Imaging

open Avalonia
open Avalonia.Media
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type CroppedBitmap =
    inherit AvaloniaObject

    // constructors
    new: () -> CroppedBitmap
    [<NullableContext>]
    new: (source:IImage * sourceRect:PixelRect) -> CroppedBitmap

    // static initonly fields
    [<Nullable>]
    val SourceProperty: StyledProperty<IImage> // static, C# readonly
    [<Nullable>]
    val SourceRectProperty: StyledProperty<PixelRect> // static, C# readonly

    // events
    [<CLIEvent>]
    member Invalidated: EventHandler // with add, remove

    // readonly properties
    member Size: Size with get

    // properties
    member Source: IImage with get, set
    member SourceRect: PixelRect with get, set

    // methods
    member Dispose: () -> Void
    [<NullableContext>]
    member Draw: (context:DrawingContext * sourceRect:Rect * destRect:Rect) -> Void

StyleBase

base: AvaloniaObject <- Object

Children: ControlTheme, Style

namespace Avalonia.Styling

open Avalonia
open Avalonia.Animation
open Avalonia.Controls
open System
open System.Collections.Generic
open System.Runtime.CompilerServices

[<AbstractClass; NullableContext; Nullable>]
type StyleBase =
    inherit AvaloniaObject

    // events
    [<CLIEvent; Nullable>]
    member OwnerChanged: EventHandler // with add, remove

    // readonly properties
    member Children: IList<IStyle> with get
    member Setters: IList<SetterBase> with get
    member Animations: IList<IAnimation> with get

    // properties
    [<Nullable>]
    member Owner: IResourceHost with get
    [<Nullable>]
    member Parent: IStyle with get
    member Resources: IResourceDictionary with get, set

    // methods
    member Add: (setter:SetterBase) -> Void
    member Add: (style:IStyle) -> Void
    [<NullableContext>]
    member TryGetResource: (key:Object * themeVariant:ThemeVariant * result:byref<Object>) -> Boolean

ControlTheme

base: StyleBase <- AvaloniaObject <- Object

namespace Avalonia.Styling

open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type ControlTheme =
    inherit StyleBase

    // constructors
    new: () -> ControlTheme
    [<NullableContext>]
    new: (targetType:Type) -> ControlTheme

    // properties
    member TargetType: Type with get, set
    member BasedOn: ControlTheme with get, set

    // methods
    [<NullableContext>]
    member ToString: () -> String

Style

base: StyleBase <- AvaloniaObject <- Object

namespace Avalonia.Styling

open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type Style =
    inherit StyleBase

    // constructors
    new: () -> Style
    new: (selector:Func<Selector, Selector>) -> Style

    // properties
    member Selector: Selector with get, set

    // methods
    [<NullableContext>]
    member ToString: () -> String

Styles

base: AvaloniaObject <- Object

namespace Avalonia.Styling

open Avalonia
open Avalonia.Collections
open Avalonia.Controls
open System
open System.Collections.Generic
open System.Collections.Specialized
open System.Reflection
open System.Runtime.CompilerServices

[<NullableContext; Nullable; DefaultMember>]
type Styles =
    inherit AvaloniaObject

    // constructors
    new: () -> Styles
    new: (owner:IResourceHost) -> Styles

    // events
    [<CLIEvent; Nullable>]
    member CollectionChanged: NotifyCollectionChangedEventHandler // with add, remove
    [<CLIEvent; Nullable>]
    member OwnerChanged: EventHandler // with add, remove

    // readonly properties
    member Count: Int32 with get

    // properties
    [<Nullable>]
    member Owner: IResourceHost with get
    member Resources: IResourceDictionary with get, set
    member Item: IStyle with get, set

    // methods
    [<NullableContext>]
    member TryGetResource: (key:Object * theme:ThemeVariant * value:byref<Object>) -> Boolean
    member AddRange: (items:IEnumerable<IStyle>) -> Void
    member InsertRange: (index:Int32 * items:IEnumerable<IStyle>) -> Void
    member Move: (oldIndex:Int32 * newIndex:Int32) -> Void
    member MoveRange: (oldIndex:Int32 * count:Int32 * newIndex:Int32) -> Void
    member RemoveAll: (items:IEnumerable<IStyle>) -> Void
    member RemoveRange: (index:Int32 * count:Int32) -> Void
    member IndexOf: (item:IStyle) -> Int32
    member Insert: (index:Int32 * item:IStyle) -> Void
    member RemoveAt: (index:Int32) -> Void
    member Add: (item:IStyle) -> Void
    member Clear: () -> Void
    member Contains: (item:IStyle) -> Boolean
    member CopyTo: (array:IStyle[] * arrayIndex:Int32) -> Void
    member Remove: (item:IStyle) -> Boolean
    member GetEnumerator: () -> Enumerator<IStyle>

AutomationProperties - havaAvaloniaPropTypes

namespace Avalonia.Automation

open Avalonia
open Avalonia.Automation.Peers
open Avalonia.Controls
open System
open System.Runtime.CompilerServices

[<AbstractClass; NullableContext; Nullable>]
type AutomationProperties =

    // static initonly fields
    [<Nullable>]
    val AcceleratorKeyProperty: AttachedProperty<String> // static, C# readonly
    val AccessibilityViewProperty: AttachedProperty<AccessibilityView> // static, C# readonly
    [<Nullable>]
    val AccessKeyProperty: AttachedProperty<String> // static, C# readonly
    [<Nullable>]
    val AutomationIdProperty: AttachedProperty<String> // static, C# readonly
    val ControlTypeOverrideProperty: AttachedProperty<Nullable<AutomationControlType>> // static, C# readonly
    [<Nullable>]
    val HelpTextProperty: AttachedProperty<String> // static, C# readonly
    val IsColumnHeaderProperty: AttachedProperty<Boolean> // static, C# readonly
    val IsRequiredForFormProperty: AttachedProperty<Boolean> // static, C# readonly
    val IsRowHeaderProperty: AttachedProperty<Boolean> // static, C# readonly
    val IsOffscreenBehaviorProperty: AttachedProperty<IsOffscreenBehavior> // static, C# readonly
    [<Nullable>]
    val ItemStatusProperty: AttachedProperty<String> // static, C# readonly
    [<Nullable>]
    val ItemTypeProperty: AttachedProperty<String> // static, C# readonly
    val LabeledByProperty: AttachedProperty<Control> // static, C# readonly
    val LiveSettingProperty: AttachedProperty<AutomationLiveSetting> // static, C# readonly
    [<Nullable>]
    val NameProperty: AttachedProperty<String> // static, C# readonly
    val PositionInSetProperty: AttachedProperty<Int32> // static, C# readonly
    val SizeOfSetProperty: AttachedProperty<Int32> // static, C# readonly

    // static methods
    static member SetAcceleratorKey: (element:StyledElement * value:String) -> Void
    static member GetAcceleratorKey: (element:StyledElement) -> String
    static member SetAccessibilityView: (element:StyledElement * value:AccessibilityView) -> Void
    static member GetAccessibilityView: (element:StyledElement) -> AccessibilityView
    static member SetAccessKey: (element:StyledElement * value:String) -> Void
    static member GetAccessKey: (element:StyledElement) -> String
    static member SetAutomationId: (element:StyledElement * value:String) -> Void
    static member GetAutomationId: (element:StyledElement) -> String
    static member SetControlTypeOverride: (element:StyledElement * value:Nullable<AutomationControlType>) -> Void
    static member GetControlTypeOverride: (element:StyledElement) -> Nullable<AutomationControlType>
    static member SetHelpText: (element:StyledElement * value:String) -> Void
    static member GetHelpText: (element:StyledElement) -> String
    static member SetIsColumnHeader: (element:StyledElement * value:Boolean) -> Void
    static member GetIsColumnHeader: (element:StyledElement) -> Boolean
    static member SetIsRequiredForForm: (element:StyledElement * value:Boolean) -> Void
    static member GetIsRequiredForForm: (element:StyledElement) -> Boolean
    static member GetIsRowHeader: (element:StyledElement) -> Boolean
    static member SetIsRowHeader: (element:StyledElement * value:Boolean) -> Void
    static member SetIsOffscreenBehavior: (element:StyledElement * value:IsOffscreenBehavior) -> Void
    static member GetIsOffscreenBehavior: (element:StyledElement) -> IsOffscreenBehavior
    static member SetItemStatus: (element:StyledElement * value:String) -> Void
    static member GetItemStatus: (element:StyledElement) -> String
    static member SetItemType: (element:StyledElement * value:String) -> Void
    static member GetItemType: (element:StyledElement) -> String
    static member SetLabeledBy: (element:StyledElement * value:Control) -> Void
    static member GetLabeledBy: (element:StyledElement) -> Control
    static member SetLiveSetting: (element:StyledElement * value:AutomationLiveSetting) -> Void
    static member GetLiveSetting: (element:StyledElement) -> AutomationLiveSetting
    static member SetName: (element:StyledElement * value:String) -> Void
    static member GetName: (element:StyledElement) -> String
    static member SetPositionInSet: (element:StyledElement * value:Int32) -> Void
    static member GetPositionInSet: (element:StyledElement) -> Int32
    static member SetSizeOfSet: (element:StyledElement * value:Int32) -> Void
    static member GetSizeOfSet: (element:StyledElement) -> Int32

Design - havaAvaloniaPropTypes

namespace Avalonia.Controls

open Avalonia
open Avalonia.Styling
open System
open System.Runtime.CompilerServices

[<AbstractClass; NullableContext; Nullable>]
type Design =

    // static initonly fields
    val HeightProperty: AttachedProperty<Double> // static, C# readonly
    val WidthProperty: AttachedProperty<Double> // static, C# readonly
    val DataContextProperty: AttachedProperty<Object> // static, C# readonly
    [<Nullable>]
    val PreviewWithProperty: AttachedProperty<Control> // static, C# readonly
    val DesignStyleProperty: AttachedProperty<IStyle> // static, C# readonly

    // static properties
    static member IsDesignMode: Boolean with get

    // static methods
    static member SetHeight: (control:Control * value:Double) -> Void
    static member GetHeight: (control:Control) -> Double
    static member SetWidth: (control:Control * value:Double) -> Void
    static member GetWidth: (control:Control) -> Double
    static member SetDataContext: (control:Control * value:Object) -> Void
    static member GetDataContext: (control:Control) -> Object
    static member SetPreviewWith: (target:AvaloniaObject * control:Control) -> Void
    static member SetPreviewWith: (target:ResourceDictionary * control:Control) -> Void
    static member GetPreviewWith: (target:AvaloniaObject) -> Control
    static member GetPreviewWith: (target:ResourceDictionary) -> Control
    static member SetDesignStyle: (control:Control * value:IStyle) -> Void
    static member GetDesignStyle: (control:Control) -> IStyle
    static member ApplyDesignModeProperties: (target:Control * source:Control) -> Void

HotKeyManager - havaAvaloniaPropTypes

namespace Avalonia.Controls

open Avalonia
open Avalonia.Input
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type HotKeyManager =

    // constructors
    new: () -> HotKeyManager

    // static initonly fields
    [<Nullable>]
    val HotKeyProperty: AttachedProperty<KeyGesture> // static, C# readonly

    // static methods
    static member SetHotKey: (target:AvaloniaObject * value:KeyGesture) -> Void
    static member GetHotKey: (target:AvaloniaObject) -> KeyGesture

NameScope - havaAvaloniaPropTypes

namespace Avalonia.Controls

open Avalonia
open Avalonia.Utilities
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type NameScope =

    // constructors
    new: () -> NameScope

    // static initonly fields
    val NameScopeProperty: AttachedProperty<INameScope> // static, C# readonly

    // static methods
    static member GetNameScope: (styled:StyledElement) -> INameScope
    static member SetNameScope: (styled:StyledElement * value:INameScope) -> Void

    // properties
    member IsCompleted: Boolean with get

    // methods
    member Register: (name:String * element:Object) -> Void
    member FindAsync: (name:String) -> SynchronousCompletionAsyncResult<Object>
    member Find: (name:String) -> Object
    member Complete: () -> Void

ToolTipDiagnostics - havaAvaloniaPropTypes

namespace Avalonia.Controls.Diagnostics

open Avalonia
open Avalonia.Controls
open System.Runtime.CompilerServices

[<AbstractClass>]
type ToolTipDiagnostics =

    // static initonly fields
    [<Nullable>]
    val ToolTipProperty: AvaloniaProperty<ToolTip> // static, C# readonly

TextSearch - havaAvaloniaPropTypes

namespace Avalonia.Controls.Primitives

open Avalonia
open Avalonia.Controls
open System
open System.Runtime.CompilerServices

[<AbstractClass; NullableContext; Nullable>]
type TextSearch =

    // static initonly fields
    [<Nullable>]
    val TextProperty: AttachedProperty<String> // static, C# readonly

    // static methods
    static member SetText: (control:Control * text:String) -> Void
    static member GetText: (control:Control) -> String

DragDrop - havaAvaloniaPropTypes

namespace Avalonia.Input

open Avalonia
open Avalonia.Interactivity
open System
open System.Runtime.CompilerServices
open System.Threading.Tasks

[<AbstractClass; NullableContext; Nullable>]
type DragDrop =

    // static initonly fields
    val DragEnterEvent: RoutedEvent<DragEventArgs> // static, C# readonly
    val DragLeaveEvent: RoutedEvent<DragEventArgs> // static, C# readonly
    val DragOverEvent: RoutedEvent<DragEventArgs> // static, C# readonly
    val DropEvent: RoutedEvent<DragEventArgs> // static, C# readonly
    val AllowDropProperty: AttachedProperty<Boolean> // static, C# readonly

    // static methods
    static member GetAllowDrop: (interactive:Interactive) -> Boolean
    static member SetAllowDrop: (interactive:Interactive * value:Boolean) -> Void
    static member DoDragDrop: (triggerEvent:PointerEventArgs * data:IDataObject * allowedEffects:DragDropEffects) -> Task<DragDropEffects>

Gestures - havaAvaloniaPropTypes

namespace Avalonia.Input

open Avalonia
open Avalonia.Interactivity
open System
open System.Runtime.CompilerServices

[<AbstractClass; NullableContext; Nullable>]
type Gestures =

    // static initonly fields
    val IsHoldingEnabledProperty: AttachedProperty<Boolean> // static, C# readonly
    val IsHoldWithMouseEnabledProperty: AttachedProperty<Boolean> // static, C# readonly
    val TappedEvent: RoutedEvent<TappedEventArgs> // static, C# readonly
    val DoubleTappedEvent: RoutedEvent<TappedEventArgs> // static, C# readonly
    val RightTappedEvent: RoutedEvent<TappedEventArgs> // static, C# readonly
    val ScrollGestureEvent: RoutedEvent<ScrollGestureEventArgs> // static, C# readonly
    val ScrollGestureInertiaStartingEvent: RoutedEvent<ScrollGestureInertiaStartingEventArgs> // static, C# readonly
    val ScrollGestureEndedEvent: RoutedEvent<ScrollGestureEndedEventArgs> // static, C# readonly
    val PointerTouchPadGestureMagnifyEvent: RoutedEvent<PointerDeltaEventArgs> // static, C# readonly
    val PointerTouchPadGestureRotateEvent: RoutedEvent<PointerDeltaEventArgs> // static, C# readonly
    val PointerTouchPadGestureSwipeEvent: RoutedEvent<PointerDeltaEventArgs> // static, C# readonly
    val PinchEvent: RoutedEvent<PinchEventArgs> // static, C# readonly
    val PinchEndedEvent: RoutedEvent<PinchEndedEventArgs> // static, C# readonly
    val PullGestureEvent: RoutedEvent<PullGestureEventArgs> // static, C# readonly
    val HoldingEvent: RoutedEvent<HoldingRoutedEventArgs> // static, C# readonly
    val PullGestureEndedEvent: RoutedEvent<PullGestureEndedEventArgs> // static, C# readonly

    // static methods
    static member GetIsHoldingEnabled: (element:StyledElement) -> Boolean
    static member SetIsHoldingEnabled: (element:StyledElement * value:Boolean) -> Void
    static member GetIsHoldWithMouseEnabled: (element:StyledElement) -> Boolean
    static member SetIsHoldWithMouseEnabled: (element:StyledElement * value:Boolean) -> Void
    static member AddTappedHandler: (element:Interactive * handler:EventHandler<RoutedEventArgs>) -> Void
    static member AddDoubleTappedHandler: (element:Interactive * handler:EventHandler<RoutedEventArgs>) -> Void
    static member AddRightTappedHandler: (element:Interactive * handler:EventHandler<RoutedEventArgs>) -> Void
    static member RemoveTappedHandler: (element:Interactive * handler:EventHandler<RoutedEventArgs>) -> Void
    static member RemoveDoubleTappedHandler: (element:Interactive * handler:EventHandler<RoutedEventArgs>) -> Void
    static member RemoveRightTappedHandler: (element:Interactive * handler:EventHandler<RoutedEventArgs>) -> Void

InputMethod - havaAvaloniaPropTypes

namespace Avalonia.Input

open Avalonia
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type InputMethod =

    // static initonly fields
    val IsInputMethodEnabledProperty: AvaloniaProperty<Boolean> // static, C# readonly

    // static methods
    static member SetIsInputMethodEnabled: (target:InputElement * value:Boolean) -> Void
    static member GetIsInputMethodEnabled: (target:InputElement) -> Boolean

KeyboardNavigation - havaAvaloniaPropTypes

namespace Avalonia.Input

open Avalonia
open System
open System.Runtime.CompilerServices

[<AbstractClass; NullableContext; Nullable>]
type KeyboardNavigation =

    // static initonly fields
    val TabIndexProperty: AttachedProperty<Int32> // static, C# readonly
    val TabNavigationProperty: AttachedProperty<KeyboardNavigationMode> // static, C# readonly
    [<Nullable>]
    val TabOnceActiveElementProperty: AttachedProperty<IInputElement> // static, C# readonly
    val IsTabStopProperty: AttachedProperty<Boolean> // static, C# readonly

    // static methods
    static member GetTabIndex: (element:IInputElement) -> Int32
    static member SetTabIndex: (element:IInputElement * value:Int32) -> Void
    static member GetTabNavigation: (element:InputElement) -> KeyboardNavigationMode
    static member SetTabNavigation: (element:InputElement * value:KeyboardNavigationMode) -> Void
    static member GetTabOnceActiveElement: (element:InputElement) -> IInputElement
    static member SetTabOnceActiveElement: (element:InputElement * value:IInputElement) -> Void
    static member SetIsTabStop: (element:InputElement * value:Boolean) -> Void
    static member GetIsTabStop: (element:InputElement) -> Boolean

TextInputOptions - havaAvaloniaPropTypes

namespace Avalonia.Input.TextInput

open Avalonia
open System
open System.Runtime.CompilerServices

[<NullableContext; Nullable>]
type TextInputOptions =

    // constructors
    new: () -> TextInputOptions

    // static initonly fields
    val Default: TextInputOptions // static, C# readonly
    val ContentTypeProperty: AttachedProperty<TextInputContentType> // static, C# readonly
    val ReturnKeyTypeProperty: AttachedProperty<TextInputReturnKeyType> // static, C# readonly
    val MultilineProperty: AttachedProperty<Boolean> // static, C# readonly
    val LowercaseProperty: AttachedProperty<Boolean> // static, C# readonly
    val UppercaseProperty: AttachedProperty<Boolean> // static, C# readonly
    val AutoCapitalizationProperty: AttachedProperty<Boolean> // static, C# readonly
    val IsSensitiveProperty: AttachedProperty<Boolean> // static, C# readonly

    // static methods
    static member FromStyledElement: (avaloniaObject:StyledElement) -> TextInputOptions
    static member SetContentType: (avaloniaObject:StyledElement * value:TextInputContentType) -> Void
    static member GetContentType: (avaloniaObject:StyledElement) -> TextInputContentType
    static member SetReturnKeyType: (avaloniaObject:StyledElement * value:TextInputReturnKeyType) -> Void
    static member GetReturnKeyType: (avaloniaObject:StyledElement) -> TextInputReturnKeyType
    static member SetMultiline: (avaloniaObject:StyledElement * value:Boolean) -> Void
    static member GetMultiline: (avaloniaObject:StyledElement) -> Boolean
    static member SetLowercase: (avaloniaObject:StyledElement * value:Boolean) -> Void
    static member GetLowercase: (avaloniaObject:StyledElement) -> Boolean
    static member SetUppercase: (avaloniaObject:StyledElement * value:Boolean) -> Void
    static member GetUppercase: (avaloniaObject:StyledElement) -> Boolean
    static member SetAutoCapitalization: (avaloniaObject:StyledElement * value:Boolean) -> Void
    static member GetAutoCapitalization: (avaloniaObject:StyledElement) -> Boolean
    static member SetIsSensitive: (avaloniaObject:StyledElement * value:Boolean) -> Void
    static member GetIsSensitive: (avaloniaObject:StyledElement) -> Boolean

    // properties
    member ContentType: TextInputContentType with get, set
    member ReturnKeyType: TextInputReturnKeyType with get, set
    member Multiline: Boolean with get, set
    member Lowercase: Boolean with get, set
    member Uppercase: Boolean with get, set
    member AutoCapitalization: Boolean with get, set
    member IsSensitive: Boolean with get, set
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment