WindowTitleBar Class
Provides an implementation of ChromedTitleBar that is integrated with its ancestor Window
control.
public class WindowTitleBar : ChromedTitleBar, IDataContextProvider, ILogical, IThemeVariantHost, IResourceHost, IResourceNode, IStyleHost, ISetLogicalParent, ISetInheritanceParent, IStyleable, INamed, IInputElement, IDataTemplateHost, ISetterValue
- Inheritance:
- object AvaloniaObject Animatable StyledElement Visual Layoutable Interactive InputElement Control TemplatedControl ContentControl ChromedTitleBar object
- Implements:
- IDataContextProvider ILogical IThemeVariantHost IResourceHost IResourceNode IStyleHost ISetLogicalParent ISetInheritanceParent IStyleable INamed IInputElement IDataTemplateHost ISetterValue
Constructors
WindowTitleBar()
Initializes an instance of the class.
public WindowTitleBar()
Properties
CanConfigureWindowClientArea
Indicates if the containing window's client area extension properties can be configured.
public bool CanConfigureWindowClientArea { get; set; }
Property Value
- bool:
The default value is
true
.
Remarks
This property determines if the Avalonia.Controls.Window.ExtendClientAreaChromeHints, Avalonia.Controls.Window.ExtendClientAreaToDecorationsHint, and Avalonia.Controls.Window.ExtendClientAreaTitleBarHeightHint properties are set. This property must be set prior to the title bar control being added to the visual tree, or its value will have no effect.
CanDrag
Indicates if the Avalonia.Input.InputElement.PointerPressed event on this control is allowed to initiate a move drag on the parent Window
.
public bool CanDrag { get; set; }
Property Value
- bool:
The default value is
true
.
Remarks
This property only detects when the pointer is pressed on the title bar control and does not affect pointer pressed events
that are directly received by the parent Window
.
IsAttachedToWindow
Indicates if the titlebar is currently attached to a Window
.
IsPrimary
Indicates if the titlebar is the primary titlebar for the attached Window
.
Window
The Window
, if any, that is currently attached to the titlebar.
public Window? Window { get; }
Property Value
- Window
Methods
ArrangeOverride(Size)
Positions child elements as part of a layout pass.
protected override Size ArrangeOverride(Size finalSize)
Parameter | Type | Description |
---|---|---|
finalSize | Size | The size available to the control. |
Returns
- Size:
The actual size used.
OnApplyTemplate(TemplateAppliedEventArgs)
Called when the control's template is applied. In simple terms, this means the method is called just before the control is displayed.
protected override void OnApplyTemplate(TemplateAppliedEventArgs e)
Parameter | Type | Description |
---|---|---|
e | TemplateAppliedEventArgs | The event args. |
OnAttachedToVisualTree(VisualTreeAttachmentEventArgs)
Called when the control is added to a rooted visual tree.
protected override void OnAttachedToVisualTree(VisualTreeAttachmentEventArgs e)
Parameter | Type | Description |
---|---|---|
e | VisualTreeAttachmentEventArgs | The event args. |
OnDetachedFromVisualTree(VisualTreeAttachmentEventArgs)
Called when the control is removed from a rooted visual tree.
protected override void OnDetachedFromVisualTree(VisualTreeAttachmentEventArgs e)
Parameter | Type | Description |
---|---|---|
e | VisualTreeAttachmentEventArgs | The event args. |
OnPointerPressed(PointerPressedEventArgs)
Called before the Avalonia.Input.InputElement.PointerPressed event occurs.
protected override void OnPointerPressed(PointerPressedEventArgs e)
Parameter | Type | Description |
---|---|---|
e | PointerPressedEventArgs | The event args. |
QueryHasCaptionButtons()
Queries the value to be assigned to HasCaptionButtons based on the current state.
Fields
CanConfigureWindowClientAreaProperty
Defines the CanConfigureWindowClientArea property.
public static readonly StyledProperty<bool> CanConfigureWindowClientAreaProperty
CanDragProperty
Defines the CanDrag property.
public static readonly StyledProperty<bool> CanDragProperty
IsAttachedToWindowProperty
Defines the IsAttachedToWindow property.
public static readonly DirectProperty<WindowTitleBar, bool> IsAttachedToWindowProperty
IsPrimaryProperty
Defines the IsPrimary property.
public static readonly DirectProperty<WindowTitleBar, bool> IsPrimaryProperty
WindowProperty
Defines the Window property.
public static readonly DirectProperty<WindowTitleBar, Window?> WindowProperty
Inherited Members
- ChromedTitleBar.CanCloseOnIconDoubleTappedProperty
- ChromedTitleBar.CanResizeProperty
- ChromedTitleBar.CanToggleWindowStateOnDoubleTappedProperty
- ChromedTitleBar.CaptionButtonsHaveFarAffinityProperty
- ChromedTitleBar.CaptionButtonThemeProperty
- ChromedTitleBar.CloseCommandProperty
- ChromedTitleBar.HasCaptionButtonsProperty
- ChromedTitleBar.HasDefaultMenuProperty
- ChromedTitleBar.HasDefaultMenuIconsProperty
- ChromedTitleBar.IconProperty
- ChromedTitleBar.IconTemplateProperty
- ChromedTitleBar.IsActiveProperty
- ChromedTitleBar.IsCloseButtonAllowedProperty
- ChromedTitleBar.IsFullScreenButtonAllowedProperty
- ChromedTitleBar.IsIconVisibleProperty
- ChromedTitleBar.IsMaximizeButtonAllowedProperty
- ChromedTitleBar.IsMinimizeButtonAllowedProperty
- ChromedTitleBar.IsPointerOverCaptionButtonsProperty
- ChromedTitleBar.IsRestoreButtonAllowedProperty
- ChromedTitleBar.LeftContentProperty
- ChromedTitleBar.LeftContentTemplateProperty
- ChromedTitleBar.MaximizeCommandProperty
- ChromedTitleBar.MinimizeCommandProperty
- ChromedTitleBar.PlatformNameProperty
- ChromedTitleBar.RestoreCommandProperty
- ChromedTitleBar.RightContentProperty
- ChromedTitleBar.RightContentTemplateProperty
- ChromedTitleBar.ToggleFullScreenCommandProperty
- ChromedTitleBar.WindowStateProperty
- ChromedTitleBar.MenuOpeningEvent
- ChromedTitleBar.CreateDefaultMenu(bool)
- ChromedTitleBar.GetIsPointerOverCaptionButtons(Control)
- ChromedTitleBar.SetIsPointerOverCaptionButtons(Control, bool)
- ChromedTitleBar.OnDoubleClicked(PointerPressedEventArgs, bool)
- ChromedTitleBar.OnMenuOpening(MenuEventArgs)
- ChromedTitleBar.OnPointerReleased(PointerReleasedEventArgs)
- ChromedTitleBar.ToggleWindowState()
- ChromedTitleBar.UpdatePseudoClasses()
- ChromedTitleBar.CanCloseOnIconDoubleTapped
- ChromedTitleBar.CanResize
- ChromedTitleBar.CanToggleWindowStateOnDoubleTapped
- ChromedTitleBar.CaptionButtonsHaveFarAffinity
- ChromedTitleBar.CaptionButtonTheme
- ChromedTitleBar.CloseCommand
- ChromedTitleBar.HasCaptionButtons
- ChromedTitleBar.HasDefaultMenu
- ChromedTitleBar.HasDefaultMenuIcons
- ChromedTitleBar.Icon
- ChromedTitleBar.IconControl
- ChromedTitleBar.IconTemplate
- ChromedTitleBar.IsActive
- ChromedTitleBar.IsCloseButtonAllowed
- ChromedTitleBar.IsIconVisible
- ChromedTitleBar.IsFullScreenButtonAllowed
- ChromedTitleBar.IsMaximizeButtonAllowed
- ChromedTitleBar.IsMinimizeButtonAllowed
- ChromedTitleBar.IsRestoreButtonAllowed
- ChromedTitleBar.LeftContent
- ChromedTitleBar.LeftContentTemplate
- ChromedTitleBar.MaximizeCommand
- ChromedTitleBar.MinimizeCommand
- ChromedTitleBar.PlatformName
- ChromedTitleBar.RestoreCommand
- ChromedTitleBar.RightContent
- ChromedTitleBar.RightContentTemplate
- ChromedTitleBar.TemplateSettings
- ChromedTitleBar.ToggleFullScreenCommand
- ChromedTitleBar.WindowState
- ChromedTitleBar.MenuOpening
- ContentControl.ContentProperty
- ContentControl.ContentTemplateProperty
- ContentControl.HorizontalContentAlignmentProperty
- ContentControl.VerticalContentAlignmentProperty
- ContentControl.OnPropertyChanged(AvaloniaPropertyChangedEventArgs)
- ContentControl.RegisterContentPresenter(ContentPresenter)
- ContentControl.Content
- ContentControl.ContentTemplate
- ContentControl.Presenter
- ContentControl.HorizontalContentAlignment
- ContentControl.VerticalContentAlignment
- TemplatedControl.BackgroundProperty
- TemplatedControl.BackgroundSizingProperty
- TemplatedControl.BorderBrushProperty
- TemplatedControl.BorderThicknessProperty
- TemplatedControl.CornerRadiusProperty
- TemplatedControl.FontFamilyProperty
- TemplatedControl.FontFeaturesProperty
- TemplatedControl.FontSizeProperty
- TemplatedControl.FontStyleProperty
- TemplatedControl.FontWeightProperty
- TemplatedControl.FontStretchProperty
- TemplatedControl.ForegroundProperty
- TemplatedControl.PaddingProperty
- TemplatedControl.TemplateProperty
- TemplatedControl.IsTemplateFocusTargetProperty
- TemplatedControl.TemplateAppliedEvent
- TemplatedControl.GetIsTemplateFocusTarget(Control)
- TemplatedControl.SetIsTemplateFocusTarget(Control, bool)
- TemplatedControl.ApplyTemplate()
- TemplatedControl.GetTemplateFocusTarget()
- TemplatedControl.OnAttachedToLogicalTree(LogicalTreeAttachmentEventArgs)
- TemplatedControl.OnDetachedFromLogicalTree(LogicalTreeAttachmentEventArgs)
- TemplatedControl.OnTemplateChanged(AvaloniaPropertyChangedEventArgs)
- TemplatedControl.Background
- TemplatedControl.BackgroundSizing
- TemplatedControl.BorderBrush
- TemplatedControl.BorderThickness
- TemplatedControl.CornerRadius
- TemplatedControl.FontFamily
- TemplatedControl.FontFeatures
- TemplatedControl.FontSize
- TemplatedControl.FontStyle
- TemplatedControl.FontWeight
- TemplatedControl.FontStretch
- TemplatedControl.Foreground
- TemplatedControl.Padding
- TemplatedControl.Template
- TemplatedControl.TemplateApplied
- Control.FocusAdornerProperty
- Control.TagProperty
- Control.ContextMenuProperty
- Control.ContextFlyoutProperty
- Control.RequestBringIntoViewEvent
- Control.ContextRequestedEvent
- Control.LoadedEvent
- Control.UnloadedEvent
- Control.SizeChangedEvent
- Control.OnLoaded(RoutedEventArgs)
- Control.OnUnloaded(RoutedEventArgs)
- Control.OnSizeChanged(SizeChangedEventArgs)
- Control.OnAttachedToVisualTreeCore(VisualTreeAttachmentEventArgs)
- Control.OnDetachedFromVisualTreeCore(VisualTreeAttachmentEventArgs)
- Control.OnGotFocus(GotFocusEventArgs)
- Control.OnLostFocus(RoutedEventArgs)
- Control.OnCreateAutomationPeer()
- Control.OnKeyUp(KeyEventArgs)
- Control.FocusAdorner
- Control.DataTemplates
- Control.ContextMenu
- Control.ContextFlyout
- Control.IsLoaded
- Control.Tag
- Control.ContextRequested
- Control.Loaded
- Control.Unloaded
- Control.SizeChanged
- InputElement.FocusableProperty
- InputElement.IsEnabledProperty
- InputElement.IsEffectivelyEnabledProperty
- InputElement.CursorProperty
- InputElement.IsKeyboardFocusWithinProperty
- InputElement.IsFocusedProperty
- InputElement.IsHitTestVisibleProperty
- InputElement.IsPointerOverProperty
- InputElement.IsTabStopProperty
- InputElement.GotFocusEvent
- InputElement.LostFocusEvent
- InputElement.KeyDownEvent
- InputElement.KeyUpEvent
- InputElement.TabIndexProperty
- InputElement.TextInputEvent
- InputElement.TextInputMethodClientRequestedEvent
- InputElement.PointerEnteredEvent
- InputElement.PointerExitedEvent
- InputElement.PointerMovedEvent
- InputElement.PointerPressedEvent
- InputElement.PointerReleasedEvent
- InputElement.PointerCaptureLostEvent
- InputElement.PointerWheelChangedEvent
- InputElement.TappedEvent
- InputElement.HoldingEvent
- InputElement.DoubleTappedEvent
- InputElement.Focus(NavigationMethod, KeyModifiers)
- InputElement.OnAccessKey(RoutedEventArgs)
- InputElement.OnKeyDown(KeyEventArgs)
- InputElement.OnTextInput(TextInputEventArgs)
- InputElement.OnPointerEntered(PointerEventArgs)
- InputElement.OnPointerExited(PointerEventArgs)
- InputElement.OnPointerMoved(PointerEventArgs)
- InputElement.OnPointerCaptureLost(PointerCaptureLostEventArgs)
- InputElement.OnPointerWheelChanged(PointerWheelEventArgs)
- InputElement.UpdateIsEffectivelyEnabled()
- InputElement.Focusable
- InputElement.IsEnabled
- InputElement.Cursor
- InputElement.IsKeyboardFocusWithin
- InputElement.IsFocused
- InputElement.IsHitTestVisible
- InputElement.IsPointerOver
- InputElement.IsTabStop
- InputElement.IsEffectivelyEnabled
- InputElement.TabIndex
- InputElement.KeyBindings
- InputElement.IsEnabledCore
- InputElement.GestureRecognizers
- InputElement.GotFocus
- InputElement.LostFocus
- InputElement.KeyDown
- InputElement.KeyUp
- InputElement.TextInput
- InputElement.TextInputMethodClientRequested
- InputElement.PointerEntered
- InputElement.PointerExited
- InputElement.PointerMoved
- InputElement.PointerPressed
- InputElement.PointerReleased
- InputElement.PointerCaptureLost
- InputElement.PointerWheelChanged
- InputElement.Tapped
- InputElement.Holding
- InputElement.DoubleTapped
- Interactive.AddHandler(RoutedEvent, Delegate, RoutingStrategies, bool)
- Interactive.AddHandler<TEventArgs>(RoutedEvent<TEventArgs>, EventHandler<TEventArgs>, RoutingStrategies, bool)
- Interactive.RemoveHandler(RoutedEvent, Delegate)
- Interactive.RemoveHandler<TEventArgs>(RoutedEvent<TEventArgs>, EventHandler<TEventArgs>)
- Interactive.RaiseEvent(RoutedEventArgs)
- Interactive.BuildEventRoute(RoutedEvent)
- Layoutable.DesiredSizeProperty
- Layoutable.WidthProperty
- Layoutable.HeightProperty
- Layoutable.MinWidthProperty
- Layoutable.MaxWidthProperty
- Layoutable.MinHeightProperty
- Layoutable.MaxHeightProperty
- Layoutable.MarginProperty
- Layoutable.HorizontalAlignmentProperty
- Layoutable.VerticalAlignmentProperty
- Layoutable.UseLayoutRoundingProperty
- Layoutable.UpdateLayout()
- Layoutable.Measure(Size)
- Layoutable.Arrange(Rect)
- Layoutable.InvalidateMeasure()
- Layoutable.InvalidateArrange()
- Layoutable.AffectsMeasure<T>(params AvaloniaProperty[])
- Layoutable.AffectsArrange<T>(params AvaloniaProperty[])
- Layoutable.MeasureCore(Size)
- Layoutable.MeasureOverride(Size)
- Layoutable.ArrangeCore(Rect)
- Layoutable.OnMeasureInvalidated()
- Layoutable.OnVisualParentChanged(Visual, Visual)
- Layoutable.Width
- Layoutable.Height
- Layoutable.MinWidth
- Layoutable.MaxWidth
- Layoutable.MinHeight
- Layoutable.MaxHeight
- Layoutable.Margin
- Layoutable.HorizontalAlignment
- Layoutable.VerticalAlignment
- Layoutable.DesiredSize
- Layoutable.IsMeasureValid
- Layoutable.IsArrangeValid
- Layoutable.UseLayoutRounding
- Layoutable.EffectiveViewportChanged
- Layoutable.LayoutUpdated
- Visual.BoundsProperty
- Visual.ClipToBoundsProperty
- Visual.ClipProperty
- Visual.IsVisibleProperty
- Visual.OpacityProperty
- Visual.OpacityMaskProperty
- Visual.EffectProperty
- Visual.HasMirrorTransformProperty
- Visual.RenderTransformProperty
- Visual.RenderTransformOriginProperty
- Visual.FlowDirectionProperty
- Visual.VisualParentProperty
- Visual.ZIndexProperty
- Visual.GetFlowDirection(Visual)
- Visual.SetFlowDirection(Visual, FlowDirection)
- Visual.InvalidateVisual()
- Visual.Render(DrawingContext)
- Visual.AffectsRender<T>(params AvaloniaProperty[])
- Visual.LogicalChildrenCollectionChanged(object, NotifyCollectionChangedEventArgs)
- Visual.InvalidateMirrorTransform()
- Visual.Bounds
- Visual.ClipToBounds
- Visual.Clip
- Visual.IsEffectivelyVisible
- Visual.IsVisible
- Visual.Opacity
- Visual.OpacityMask
- Visual.Effect
- Visual.HasMirrorTransform
- Visual.RenderTransform
- Visual.RenderTransformOrigin
- Visual.FlowDirection
- Visual.ZIndex
- Visual.VisualChildren
- Visual.VisualRoot
- Visual.BypassFlowDirectionPolicies
- Visual.AttachedToVisualTree
- Visual.DetachedFromVisualTree
- StyledElement.DataContextProperty
- StyledElement.NameProperty
- StyledElement.ParentProperty
- StyledElement.TemplatedParentProperty
- StyledElement.ThemeProperty
- StyledElement.BeginInit()
- StyledElement.EndInit()
- StyledElement.ApplyStyling()
- StyledElement.InitializeIfNeeded()
- StyledElement.TryGetResource(object, ThemeVariant, out object)
- StyledElement.OnDataContextChanged(EventArgs)
- StyledElement.OnDataContextBeginUpdate()
- StyledElement.OnDataContextEndUpdate()
- StyledElement.OnInitialized()
- StyledElement.Name
- StyledElement.Classes
- StyledElement.DataContext
- StyledElement.IsInitialized
- StyledElement.Styles
- StyledElement.StyleKey
- StyledElement.Resources
- StyledElement.TemplatedParent
- StyledElement.Theme
- StyledElement.LogicalChildren
- StyledElement.PseudoClasses
- StyledElement.StyleKeyOverride
- StyledElement.Parent
- StyledElement.ActualThemeVariant
- StyledElement.AttachedToLogicalTree
- StyledElement.DetachedFromLogicalTree
- StyledElement.DataContextChanged
- StyledElement.Initialized
- StyledElement.ResourcesChanged
- StyledElement.ActualThemeVariantChanged
- Animatable.TransitionsProperty
- Animatable.OnPropertyChangedCore(AvaloniaPropertyChangedEventArgs)
- Animatable.Transitions
- AvaloniaObject.CheckAccess()
- AvaloniaObject.VerifyAccess()
- AvaloniaObject.ClearValue(AvaloniaProperty)
- AvaloniaObject.ClearValue<T>(AvaloniaProperty<T>)
- AvaloniaObject.ClearValue<T>(StyledProperty<T>)
- AvaloniaObject.ClearValue<T>(DirectPropertyBase<T>)
- AvaloniaObject.Equals(object)
- AvaloniaObject.GetHashCode()
- AvaloniaObject.GetValue(AvaloniaProperty)
- AvaloniaObject.GetValue<T>(StyledProperty<T>)
- AvaloniaObject.GetValue<T>(DirectPropertyBase<T>)
- AvaloniaObject.GetBaseValue<T>(StyledProperty<T>)
- AvaloniaObject.IsAnimating(AvaloniaProperty)
- AvaloniaObject.IsSet(AvaloniaProperty)
- AvaloniaObject.SetValue(AvaloniaProperty, object, BindingPriority)
- AvaloniaObject.SetValue<T>(StyledProperty<T>, T, BindingPriority)
- AvaloniaObject.SetValue<T>(DirectPropertyBase<T>, T)
- AvaloniaObject.SetCurrentValue(AvaloniaProperty, object)
- AvaloniaObject.SetCurrentValue<T>(StyledProperty<T>, T)
- AvaloniaObject.Bind(AvaloniaProperty, IBinding)
- AvaloniaObject.Bind(AvaloniaProperty, IObservable<object>, BindingPriority)
- AvaloniaObject.Bind<T>(StyledProperty<T>, IObservable<object>, BindingPriority)
- AvaloniaObject.Bind<T>(StyledProperty<T>, IObservable<T>, BindingPriority)
- AvaloniaObject.Bind<T>(StyledProperty<T>, IObservable<BindingValue<T>>, BindingPriority)
- AvaloniaObject.Bind<T>(DirectPropertyBase<T>, IObservable<object>)
- AvaloniaObject.Bind<T>(DirectPropertyBase<T>, IObservable<T>)
- AvaloniaObject.Bind<T>(DirectPropertyBase<T>, IObservable<BindingValue<T>>)
- AvaloniaObject.CoerceValue(AvaloniaProperty)
- AvaloniaObject.UpdateDataValidation(AvaloniaProperty, BindingValueType, Exception)
- AvaloniaObject.RaisePropertyChanged<T>(DirectPropertyBase<T>, T, T)
- AvaloniaObject.SetAndRaise<T>(DirectPropertyBase<T>, ref T, T)
- AvaloniaObject.InheritanceParent
- AvaloniaObject.this[AvaloniaProperty]
- AvaloniaObject.this[IndexerDescriptor]
- AvaloniaObject.PropertyChanged
- object.GetType()
- object.MemberwiseClone()
- object.ToString()
- object.Equals(object, object)
- object.ReferenceEquals(object, object)
Extension Methods
- AvaloniaObjectExtensions.BindToProperty(AvaloniaObject, AvaloniaProperty, AvaloniaObject, AvaloniaProperty, BindingMode)
- AvaloniaObjectExtensions.BindToProperty(AvaloniaObject, AvaloniaProperty, object, AvaloniaProperty, BindingMode, IValueConverter, object)
- VisualExtensions.GetFirstFocusableVisualDescendant(Visual)
- VisualExtensions.GetFirstTabStopVisualDescendant(Visual)
- VisualExtensions.InvalidateMeasureForAllVisualsInSameTemplate(Visual)
- VisualExtensions.InvalidateMeasureForVisualAncestorPath<PathEndType>(Visual, bool)
- VisualExtensions.IsFocusWithin(Visual)
- VisualExtensions.IsFocusWithinAsync(Visual)
- VisualExtensions.SizeToClient(Visual, PixelSize)
- VisualExtensions.SizeToScreen(Visual, Size)
- VisualExtensions.VectorToClient(Visual, PixelVector)
- VisualExtensions.VectorToScreen(Visual, Vector)
- ObjectExtensions.TryConvertToDouble(object, out double)
- ObjectExtensions.TryConvertToDouble(object, IFormatProvider, out double)