WindowBase Class
Definition
Base class for top-level windows.
public class WindowBase
Remarks
This class acts as a base for top level windows such as Avalonia.Controls.Window and Avalonia.Controls.Primitives.PopupRoot. It handles scheduling layout, styling and rendering as well as tracking the window Avalonia.Controls.TopLevel.ClientSize and Avalonia.Controls.WindowBase.IsActive state.
Constructors
| Name | Description |
|---|---|
| WindowBase (2 overloads) | No summary available. |
WindowBase overloads
WindowBase Constructor
public WindowBase(Avalonia.Platform.IWindowBaseImpl impl)
Parameters
WindowBase Constructor
public WindowBase(Avalonia.Platform.IWindowBaseImpl impl, Avalonia.IAvaloniaDependencyResolver dependencyResolver)
Parameters
impl Avalonia.Platform.IWindowBaseImpl
dependencyResolver Avalonia.IAvaloniaDependencyResolver
Methods
| Name | Description |
|---|---|
| Activate | Activates the window. |
| Hide | Hides the popup. |
| Show | Shows the window. |
| GetAutoSafeAreaPadding | Gets if auto safe area padding is enabled. Inherited from TopLevel. |
| GetSystemBarColor | Helper for getting the color of the platform's system bars. Inherited from TopLevel. |
| GetTopLevel | Gets the Avalonia.Controls.TopLevel for which the given Avalonia.Visual is hosted in. Inherited from TopLevel. |
| RequestAnimationFrame | Inherited from TopLevel. |
| RequestPlatformInhibition | Requests a Avalonia.Controls.PlatformInhibitionType to be inhibited. The behavior remains inhibited until the return value is disposed. The available set of Avalonia.Controls.PlatformInhibitionTypes depends on the platform. If a behavior is inhibited on a platform where this type is not supported the request will have no effect. Inherited from TopLevel. |
| SetAutoSafeAreaPadding | Enabled or disables whenever TopLevel should automatically adjust paddings depending on the safe area. Inherited from TopLevel. |
| SetSystemBarColor | Gets or sets the keyboard navigation handler for the window. Inherited from TopLevel. |
| TryGetPlatformHandle | Trys to get the platform handle for the TopLevel-derived control. Inherited from TopLevel. |
| ApplyTemplate | Creates the visual children of the control, if necessary Inherited from TemplatedControl. |
| GetIsTemplateFocusTarget | Gets the value of the IsTemplateFocusTargetProperty attached property on a control. Inherited from TemplatedControl. |
| SetIsTemplateFocusTarget | Sets the value of the IsTemplateFocusTargetProperty attached property on a control. Inherited from TemplatedControl. |
| Focus | Focuses the control. Inherited from InputElement. |
| GetIsHoldWithMouseEnabled | Inherited from InputElement. |
| GetIsHoldingEnabled | Inherited from InputElement. |
| SetIsHoldWithMouseEnabled | Inherited from InputElement. |
| SetIsHoldingEnabled | Inherited from InputElement. |
| AddHandler (2 overloads) | Adds a handler for the specified routed event. Inherited from Interactive. |
| RaiseEvent | Raises a routed event. Inherited from Interactive. |
| RemoveHandler (2 overloads) | Removes a handler for the specified routed event. Inherited from Interactive. |
| Arrange | Arranges the control and its children. Inherited from Layoutable. |
| InvalidateArrange | Invalidates the arrangement of the control and queues a new layout pass. Inherited from Layoutable. |
| InvalidateMeasure | Invalidates the measurement of the control and queues a new layout pass. Inherited from Layoutable. |
| Measure | Carries out a measure of the control. Inherited from Layoutable. |
| UpdateLayout | Executes a layout pass. Inherited from Layoutable. |
| GetFlowDirection | Gets the value of the attached Avalonia.Visual.FlowDirectionProperty on a control. Inherited from Visual. |
| InvalidateVisual | Invalidates the visual and queues a repaint. Inherited from Visual. |
| Render | Renders the visual to a Avalonia.Media.DrawingContext. Inherited from Visual. |
| SetFlowDirection | Sets the value of the attached Avalonia.Visual.FlowDirectionProperty on a control. Inherited from Visual. |
| ApplyStyling | Applies styling to the control if the control is initialized and styling is not already applied. Inherited from StyledElement. |
| BeginInit | Inherited from StyledElement. |
| EndInit | Inherited from StyledElement. |
| TryGetResource | Inherited from StyledElement. |
| Bind (8 overloads) | Binds a Avalonia.AvaloniaProperty to an Avalonia.Data.BindingBase. Inherited from AvaloniaObject. |
| CheckAccess | Returns a value indicating whether the current thread is the UI thread. Inherited from AvaloniaObject. |
| ClearValue (4 overloads) | Clears a Avalonia.AvaloniaProperty's local value. Inherited from AvaloniaObject. |
| CoerceValue | Coerces the specified Avalonia.AvaloniaProperty. Inherited from AvaloniaObject. |
| Equals | Compares two objects using reference equality. Inherited from AvaloniaObject. |
| GetBaseValue | Inherited from AvaloniaObject. |
| GetHashCode | Gets the hash code for the object. Inherited from AvaloniaObject. |
| GetValue (3 overloads) | Gets a Avalonia.AvaloniaProperty value. Inherited from AvaloniaObject. |
| IsAnimating | Checks whether a Avalonia.AvaloniaProperty is animating. Inherited from AvaloniaObject. |
| IsSet | Checks whether a Avalonia.AvaloniaProperty is set on this object. Inherited from AvaloniaObject. |
| SetCurrentValue (2 overloads) | Sets the value of a dependency property without changing its value source. Inherited from AvaloniaObject. |
| SetValue (3 overloads) | Sets a Avalonia.AvaloniaProperty value. Inherited from AvaloniaObject. |
| VerifyAccess | Checks that the current thread is the UI thread and throws if not. Inherited from AvaloniaObject. |
Activate Method
Activates the window.
public void Activate()
Hide Method
Hides the popup.
public void Hide()
Show Method
Shows the window.
public void Show()
Properties
| Name | Description |
|---|---|
| DesktopScaling | Gets the scaling factor for Window positioning and sizing. |
| IsActive | Gets a value that indicates whether the window is active. |
| Owner | Gets or sets the owner of the window. |
| PlatformImpl | No summary available. |
| Screens | Gets platform screens implementation. |
| Topmost | Gets or sets whether this window appears on top of all other windows |
| ActualTransparencyLevel | Gets the achieved Avalonia.Controls.WindowTransparencyLevel that the platform was able to provide. Inherited from TopLevel. |
| ClientSize | Gets or sets the client size of the window. Inherited from TopLevel. |
| Clipboard | Gets the platform's clipboard implementation Inherited from TopLevel. |
| FocusManager | Gets focus manager of the root. Inherited from TopLevel. |
| FrameSize | Gets or sets the total size of the window. Inherited from TopLevel. |
| InputPane | Inherited from TopLevel. |
| InsetsManager | Inherited from TopLevel. |
| Launcher | Inherited from TopLevel. |
| RenderScaling | Inherited from TopLevel. |
| RendererDiagnostics | Gets a value indicating whether the renderer should draw specific diagnostics. Inherited from TopLevel. |
| RequestedThemeVariant | Gets or sets the UI theme variant that is used by the control (and its child elements) for resource determination. The UI theme you specify with ThemeVariant can override the app-level ThemeVariant. Inherited from TopLevel. |
| StorageProvider | File System storage service used for file pickers and bookmarks. Inherited from TopLevel. |
| TransparencyBackgroundFallback | Gets or sets the Avalonia.Media.IBrush that transparency will blend with when transparency is not supported. By default this is a solid white brush. Inherited from TopLevel. |
| TransparencyLevelHint | Gets or sets the Avalonia.Controls.WindowTransparencyLevel that the TopLevel should use when possible. Accepts multiple values which are applied in a fallback order. For instance, with "Mica, Blur" Mica will be applied only on platforms where it is possible, and Blur will be used on the rest of them. Default value is an empty array or "None". Inherited from TopLevel. |
| Content | Gets or sets the content to display. Inherited from ContentControl. |
| ContentTemplate | Gets or sets the data template used to display the content of the control. Inherited from ContentControl. |
| HorizontalContentAlignment | Gets or sets the horizontal alignment of the content within the control. Inherited from ContentControl. |
| Presenter | Gets the presenter from the control's template. Inherited from ContentControl. |
| VerticalContentAlignment | Gets or sets the vertical alignment of the content within the control. Inherited from ContentControl. |
| Background | Gets or sets the brush used to draw the control's background. Inherited from TemplatedControl. |
| BackgroundSizing | Gets or sets how the control's background is drawn relative to the control's border. Inherited from TemplatedControl. |
| BorderBrush | Gets or sets the brush used to draw the control's border. Inherited from TemplatedControl. |
| BorderThickness | Gets or sets the thickness of the control's border. Inherited from TemplatedControl. |
| CornerRadius | Gets or sets the radius of the border rounded corners. Inherited from TemplatedControl. |
| FontFamily | Gets or sets the font family used to draw the control's text. Inherited from TemplatedControl. |
| FontFeatures | Gets or sets the font features turned on/off. Inherited from TemplatedControl. |
| FontSize | Gets or sets the size of the control's text in points. Inherited from TemplatedControl. |
| FontStretch | Gets or sets the font stretch used to draw the control's text. Inherited from TemplatedControl. |
| FontStyle | Gets or sets the font style used to draw the control's text. Inherited from TemplatedControl. |
| FontWeight | Gets or sets the font weight used to draw the control's text. Inherited from TemplatedControl. |
| Foreground | Gets or sets the brush used to draw the control's text and other foreground elements. Inherited from TemplatedControl. |
| LetterSpacing | Gets or sets the letter spacing for the control's text content. Inherited from TemplatedControl. |
| Padding | Gets or sets the padding placed between the border of the control and its content. Inherited from TemplatedControl. |
| Template | Gets or sets the template that defines the control's appearance. Inherited from TemplatedControl. |
| ContextFlyout | Gets or sets a context flyout to the control Inherited from Control. |
| ContextMenu | Gets or sets a context menu to the control. Inherited from Control. |
| DataTemplates | Gets or sets the data templates for the control. Inherited from Control. |
| FocusAdorner | Gets or sets the control's focus adorner. Inherited from Control. |
| IsLoaded | Gets a value indicating whether the control is fully constructed in the visual tree and both layout and render are complete. Inherited from Control. |
| Tag | Gets or sets a user-defined object attached to the control. Inherited from Control. |
| Cursor | Gets or sets associated mouse cursor. Inherited from InputElement. |
| Focusable | Gets or sets a value indicating whether the control can receive focus. Inherited from InputElement. |
| GestureRecognizers | Inherited from InputElement. |
| IsEffectivelyEnabled | Gets a value indicating whether this control and all its parents are enabled. Inherited from InputElement. |
| IsEnabled | Gets or sets a value indicating whether the control is enabled for user interaction. Inherited from InputElement. |
| IsFocused | Gets a value indicating whether the control is focused. Inherited from InputElement. |
| IsHitTestVisible | Gets or sets a value indicating whether the control is considered for hit testing. Inherited from InputElement. |
| IsKeyboardFocusWithin | Gets a value indicating whether keyboard focus is anywhere within the element or its visual tree child elements. Inherited from InputElement. |
| IsPointerOver | Gets a value indicating whether the pointer is currently over the control. Inherited from InputElement. |
| IsTabStop | Gets or sets a value that indicates whether the control is included in tab navigation. Inherited from InputElement. |
| KeyBindings | Inherited from InputElement. |
| TabIndex | Gets or sets a value that determines the order in which elements receive focus when the user navigates through controls by pressing the Tab key. Inherited from InputElement. |
| DesiredSize | Gets the size that this element computed during the measure pass of the layout process. Inherited from Layoutable. |
| Height | Gets or sets the height of the element. Inherited from Layoutable. |
| HorizontalAlignment | Gets or sets the element's preferred horizontal alignment in its parent. Inherited from Layoutable. |
| IsArrangeValid | Gets a value indicating whether the control's layouts arrange is valid. Inherited from Layoutable. |
| IsMeasureValid | Gets a value indicating whether the control's layout measure is valid. Inherited from Layoutable. |
| Margin | Gets or sets the margin around the element. Inherited from Layoutable. |
| MaxHeight | Gets or sets the maximum height of the element. Inherited from Layoutable. |
| MaxWidth | Gets or sets the maximum width of the element. Inherited from Layoutable. |
| MinHeight | Gets or sets the minimum height of the element. Inherited from Layoutable. |
| MinWidth | Gets or sets the minimum width of the element. Inherited from Layoutable. |
| UseLayoutRounding | Gets or sets a value that determines whether the element should be snapped to pixel boundaries at layout time. Inherited from Layoutable. |
| VerticalAlignment | Gets or sets the element's preferred vertical alignment in its parent. Inherited from Layoutable. |
| Width | Gets or sets the width of the element. Inherited from Layoutable. |
| Bounds | Gets the bounds of the control relative to its parent. Inherited from Visual. |
| CacheMode | Gets or sets the cache mode of the visual. Inherited from Visual. |
| Clip | Gets or sets the geometry clip for this visual. Inherited from Visual. |
| ClipToBounds | Gets or sets a value indicating whether the control should be clipped to its bounds. Inherited from Visual. |
| Effect | Gets or sets the effect of the control. Inherited from Visual. |
| FlowDirection | Gets or sets the text flow direction. Inherited from Visual. |
| HasMirrorTransform | Gets or sets a value indicating whether to apply mirror transform on this control. Inherited from Visual. |
| IsEffectivelyVisible | Gets a value indicating whether this control and all its parents are visible. Inherited from Visual. |
| IsVisible | Gets or sets a value indicating whether this control is visible. Inherited from Visual. |
| Opacity | Gets or sets the opacity of the control. Inherited from Visual. |
| OpacityMask | Gets or sets the opacity mask of the control. Inherited from Visual. |
| RenderTransform | Gets or sets the render transform of the control. Inherited from Visual. |
| RenderTransformOrigin | Gets or sets the transform origin of the control. Inherited from Visual. |
| ZIndex | Gets or sets the Z index of the control. Inherited from Visual. |
| ActualThemeVariant | Gets the UI theme that is currently used by the element, which might be different than the RequestedThemeVariantProperty. Inherited from StyledElement. |
| Classes | Gets or sets the styled element's classes. Inherited from StyledElement. |
| DataContext | Gets or sets the control's data context. Inherited from StyledElement. |
| IsInitialized | Gets a value that indicates whether the element has finished initialization. Inherited from StyledElement. |
| Name | Gets or sets the name of the styled element. Inherited from StyledElement. |
| Parent | Gets the styled element's logical parent. Inherited from StyledElement. |
| Resources | Gets or sets the styled element's resource dictionary. Inherited from StyledElement. |
| StyleKey | Gets the type by which the element is styled. Inherited from StyledElement. |
| Styles | Gets the styles for the styled element. Inherited from StyledElement. |
| TemplatedParent | Gets the styled element whose lookless template this styled element is part of. Inherited from StyledElement. |
| Theme | Gets or sets the theme to be applied to the element. Inherited from StyledElement. |
| Transitions | Gets or sets the property transitions for the control. Inherited from Animatable. |
| Dispatcher | Returns the Avalonia.AvaloniaObject.Dispatcher that this Avalonia.AvaloniaObject is associated with. Inherited from AvaloniaObject. |
| Item | Inherited from AvaloniaObject. |
DesktopScaling Property
Gets the scaling factor for Window positioning and sizing.
public double DesktopScaling { get; set; }
IsActive Property
Gets a value that indicates whether the window is active.
public bool IsActive { get; set; }
Owner Property
Gets or sets the owner of the window.
public Avalonia.Controls.WindowBase Owner { get; set; }
PlatformImpl Property
public Avalonia.Platform.IWindowBaseImpl PlatformImpl { get; set; }
Screens Property
Gets platform screens implementation.
public Avalonia.Controls.Screens Screens { get; set; }
Topmost Property
Gets or sets whether this window appears on top of all other windows
public bool Topmost { get; set; }
Fields
IsActiveProperty Field
Defines the Avalonia.Controls.WindowBase.IsActive property.
public Avalonia.DirectProperty<Avalonia.Controls.WindowBase, bool> IsActiveProperty
OwnerProperty Field
Defines the Avalonia.Controls.WindowBase.Owner property.
public Avalonia.DirectProperty<Avalonia.Controls.WindowBase, Avalonia.Controls.WindowBase> OwnerProperty
TopmostProperty Field
public Avalonia.StyledProperty<bool> TopmostProperty
Events
| Name | Description |
|---|---|
| Activated | Fired when the window is activated. |
| Deactivated | Fired when the window is deactivated. |
| PositionChanged | Fired when the window position is changed. |
| Resized | Occurs when the window is resized. |
| BackRequested | Occurs when physical Back Button is pressed or a back navigation has been requested. Inherited from TopLevel. |
| Closed | Fired when the window is closed. Inherited from TopLevel. |
| Opened | Fired when the window is opened. Inherited from TopLevel. |
| ScalingChanged | Gets or sets a method called when the TopLevel's scaling changes. Inherited from TopLevel. |
| TemplateApplied | Raised when the control's template is applied. Inherited from TemplatedControl. |
| Loaded | Occurs when the control has been fully constructed in the visual tree and both layout and render are complete. Inherited from Control. |
| SizeChanged | Occurs when the bounds (actual size) of the control have changed. Inherited from Control. |
| Unloaded | Occurs when the control is removed from the visual tree. Inherited from Control. |
| ContextCanceled | Occurs when the context input gesture continues into another gesture, to notify the element that the context flyout should not be opened. Inherited from InputElement. |
| ContextRequested | Occurs when the user has completed a context input gesture, such as a right-click. Inherited from InputElement. |
| DoubleTapped | Occurs when a double-tap gesture occurs on the control. Inherited from InputElement. |
| GettingFocus | Occurs before the control receives focus. Inherited from InputElement. |
| GotFocus | Occurs when the control receives focus. Inherited from InputElement. |
| Holding | Occurs when a hold gesture occurs on the control. Inherited from InputElement. |
| KeyDown | Occurs when a key is pressed while the control has focus. Inherited from InputElement. |
| KeyUp | Occurs when a key is released while the control has focus. Inherited from InputElement. |
| LosingFocus | Occurs before the control loses focus. Inherited from InputElement. |
| LostFocus | Occurs when the control loses focus. Inherited from InputElement. |
| Pinch | Occurs when a pinch gesture occurs on the control. Inherited from InputElement. |
| PinchEnded | Occurs when a pinch gesture ends on the control. Inherited from InputElement. |
| PointerCaptureLost | Occurs when the control or its child control loses the pointer capture for any reason, event will not be triggered for a parent control if capture was transferred to another child of that parent control. Inherited from InputElement. |
| PointerEntered | Occurs when the pointer enters the control. Inherited from InputElement. |
| PointerExited | Occurs when the pointer leaves the control. Inherited from InputElement. |
| PointerMoved | Occurs when the pointer moves over the control. Inherited from InputElement. |
| PointerPressed | Occurs when the pointer is pressed over the control. Inherited from InputElement. |
| PointerReleased | Occurs when the pointer is released over the control. Inherited from InputElement. |
| PointerTouchPadGestureMagnify | Occurs when a touchpad magnify gesture occurs on the control. Inherited from InputElement. |
| PointerTouchPadGestureRotate | Occurs when a touchpad rotate gesture occurs on the control. Inherited from InputElement. |
| PointerTouchPadGestureSwipe | Occurs when a touchpad swipe gesture occurs on the control. Inherited from InputElement. |
| PointerWheelChanged | Occurs when the mouse is scrolled over the control. Inherited from InputElement. |
| PullGesture | Occurs when a pull gesture occurs on the control. Inherited from InputElement. |
| PullGestureEnded | Occurs when a pull gesture ends on the control. Inherited from InputElement. |
| RightTapped | Occurs when a right tap gesture occurs on the control. Inherited from InputElement. |
| ScrollGesture | Occurs when a scroll gesture occurs on the control. Inherited from InputElement. |
| ScrollGestureEnded | Occurs when a scroll gesture ends on the control. Inherited from InputElement. |
| ScrollGestureInertiaStarting | Occurs when a scroll gesture inertia starts on the control. Inherited from InputElement. |
| SwipeGesture | Occurs when a swipe gesture occurs on the control. Inherited from InputElement. |
| Tapped | Occurs when a tap gesture occurs on the control. Inherited from InputElement. |
| TextInput | Occurs when a user typed some text while the control has focus. Inherited from InputElement. |
| TextInputMethodClientRequested | Occurs when an input element gains input focus and input method is looking for the corresponding client Inherited from InputElement. |
| EffectiveViewportChanged | Occurs when the element's effective viewport changes. Inherited from Layoutable. |
| LayoutUpdated | Occurs when a layout pass completes for the control. Inherited from Layoutable. |
| AttachedToVisualTree | Raised when the control is attached to a rooted visual tree. Inherited from Visual. |
| DetachedFromVisualTree | Raised when the control is detached from a rooted visual tree. Inherited from Visual. |
| ActualThemeVariantChanged | Raised when the theme variant is changed on the element or an ancestor of the element. Inherited from StyledElement. |
| AttachedToLogicalTree | Raised when the styled element is attached to a rooted logical tree. Inherited from StyledElement. |
| DataContextChanged | Occurs when the Avalonia.StyledElement.DataContext property changes. Inherited from StyledElement. |
| DetachedFromLogicalTree | Raised when the styled element is detached from a rooted logical tree. Inherited from StyledElement. |
| Initialized | Occurs when the styled element has finished initialization. Inherited from StyledElement. |
| ResourcesChanged | Occurs when a resource in this styled element or a parent styled element has changed. Inherited from StyledElement. |
| PropertyChanged | Raised when a Avalonia.AvaloniaProperty value changes on this object. Inherited from AvaloniaObject. |
Activated Event
Fired when the window is activated.
public event EventHandler Activated
Deactivated Event
Fired when the window is deactivated.
public event EventHandler Deactivated
PositionChanged Event
Fired when the window position is changed.
public event EventHandler<Avalonia.Controls.PixelPointEventArgs> PositionChanged
Resized Event
Occurs when the window is resized.
public event EventHandler<Avalonia.Controls.WindowResizedEventArgs> Resized
Remarks
Although this event is similar to the Avalonia.Controls.Control.SizeChanged event, they are conceptually different:
- Avalonia.Controls.WindowBase.Resized is a window-level event, fired when a resize notification arrives from the platform windowing subsystem. The event args contain details of the source of the resize event in the Avalonia.Controls.WindowResizedEventArgs.Reason property. This event is raised before layout has been run on the window's content.
- Avalonia.Controls.Control.SizeChanged is a layout-level event, fired when a layout pass completes on a control. Avalonia.Controls.Control.SizeChanged is present on all controls and is fired when the control's size changes for any reason, including a Avalonia.Controls.WindowBase.Resized event in the case of a Window.