DockingWindowContainerBase Class
Represents the base class for a control that can contain multiple docking windows, with one selected.
[TemplatePart(Name = "PART_TabControl", Type = typeof(AdvancedTabControl))]
[PseudoClasses(new string[] { ":active" })]
[PseudoClasses(new string[] { ":left", ":top", ":right", ":bottom" })]
[PseudoClasses(new string[] { ":docked", ":document", ":autohide" })]
public abstract class DockingWindowContainerBase : TemplatedControl, IDataContextProvider, ILogical, IThemeVariantHost, IResourceHost, IResourceNode, IStyleHost, ISetLogicalParent, ISetInheritanceParent, IStyleable, INamed, IInputElement, IDataTemplateHost, ISetterValue, IOrientedElement
- Inheritance:
- object AvaloniaObject Animatable StyledElement Visual Layoutable Interactive InputElement Control TemplatedControl object
- Derived:
- TabbedMdiContainer ToolWindowContainer
- Implements:
- IDataContextProvider ILogical IThemeVariantHost IResourceHost IResourceNode IStyleHost ISetLogicalParent ISetInheritanceParent IStyleable INamed IInputElement IDataTemplateHost ISetterValue IOrientedElement
Constructors
DockingWindowContainerBase()
Initializes an instance of the class.
protected DockingWindowContainerBase()
Properties
CanTabsCloseOnMiddleClick
Indicates whether tabs can close when a middle-click is performed over them.
public bool CanTabsCloseOnMiddleClick { get; set; }
Property Value
- bool:
The default value is
true
.
Remarks
The CanClose property must also be set to true
for this behavior to work.
DockHost
The DockHost that contains this control.
DockSite
The DockSite that is managing this control.
HasTabIcons
Indicates whether tabs display an embedded icon when one is available.
IsActive
Indicates whether the container is currently active, due to focus being within it.
IsTabLayoutAnimationEnabled
Indicates whether animation effects should be applied during tab layout, such as when tabs are added or removed.
public bool IsTabLayoutAnimationEnabled { get; set; }
Property Value
- bool:
The default value is
false
.
IsTabLayoutAnimationEnabledResolved
Indicates whether animation effects are applied during tab layout, such as when tabs are added or removed.
public bool IsTabLayoutAnimationEnabledResolved { get; }
Property Value
- bool:
The default value is
false
.
IsTabStripVisible
Indicates whether the tabstrip is visible.
MaxTabExtent
The maximum extent of a tab.
MinTabExtent
The minimum extent of a tab.
SelectedWindow
The DockingWindow that is currently selected in the container.
SingleTabLayoutBehavior
The behavior used when a single DockingWindow is in the container.
public SingleTabLayoutBehavior SingleTabLayoutBehavior { get; set; }
Property Value
State
The DockingWindowState that specifies the current state of the container.
TabControl
The tab control in the container's user interface.
TabControlTheme
The Avalonia.Styling.ControlTheme to use for the contained TabControl.
public ControlTheme? TabControlTheme { get; set; }
Property Value
- ControlTheme
TabItemContainerTheme
The Avalonia.Styling.ControlTheme to use for rendering the tab item containers.
public ControlTheme? TabItemContainerTheme { get; set; }
Property Value
- ControlTheme
TabOverflowBehavior
The TabOverflowBehavior that indicates the logic to use in tab overflow scenarios.
public TabOverflowBehavior TabOverflowBehavior { get; set; }
Property Value
- TabOverflowBehavior:
The default value is Shrink.
TabStripPlacement
A dock side indicating the side upon which the tabs are located.
public Dock TabStripPlacement { get; set; }
Property Value
- Dock:
The default value is Avalonia.Controls.Dock.Bottom.
WindowsCore
Gets the collection of child DockingWindow objects.
protected ObservableCollection<DockingWindow> WindowsCore { get; }
Property Value
Methods
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. |
OnDockSiteChanged(DockSite?, DockSite?)
Called when the DockSite property is changed.
protected virtual void OnDockSiteChanged(DockSite? oldDockSite, DockSite? newDockSite)
Parameter | Type | Description |
---|---|---|
oldDockSite | DockSite | The old value. |
newDockSite | DockSite | The new value. |
OnSelectedWindowChanged(DockingWindow?, DockingWindow?)
Called when the SelectedWindow property is changed.
protected virtual void OnSelectedWindowChanged(DockingWindow? oldSelectedWindow, DockingWindow? newSelectedWindow)
Parameter | Type | Description |
---|---|---|
oldSelectedWindow | DockingWindow | The old selected window. |
newSelectedWindow | DockingWindow | The new selected window. |
OnTabControlMenuOpening(AdvancedTabControlMenuEventArgs)
Called when a menu on the tab control is opening.
protected virtual void OnTabControlMenuOpening(AdvancedTabControlMenuEventArgs e)
Parameter | Type | Description |
---|---|---|
e | AdvancedTabControlMenuEventArgs | The AdvancedTabControlMenuEventArgs that contains the event data. |
OnWindowsChanged(NotifyCollectionChangedEventArgs)
Called when the windows collection is changed.
protected virtual void OnWindowsChanged(NotifyCollectionChangedEventArgs e)
Parameter | Type | Description |
---|---|---|
e | NotifyCollectionChangedEventArgs | A |
ToString()
Returns the string representation of this object.
UpdateCommands()
Updates the enabled states of the commands.
protected virtual void UpdateCommands()
UpdateDockingWindowStates()
Updates the DockingWindowState associated with all child docking windows.
protected abstract void UpdateDockingWindowStates()
UpdateIsTabStripVisible()
Updates the IsTabStripVisible property.
protected virtual void UpdateIsTabStripVisible()
UpdateTitleBarButtonVisibility()
Updates the title bar button visibility.
protected virtual void UpdateTitleBarButtonVisibility()
ValidateChildType(DockingWindow)
Validates that the specified child DockingWindow type is valid for this container.
protected virtual void ValidateChildType(DockingWindow window)
Parameter | Type | Description |
---|---|---|
window | DockingWindow | The DockingWindow to examine. |
Fields
CanTabsCloseOnMiddleClickProperty
Defines the CanTabsCloseOnMiddleClick property.
public static readonly StyledProperty<bool> CanTabsCloseOnMiddleClickProperty
HasTabIconsProperty
Defines the HasTabIcons property.
public static readonly StyledProperty<bool> HasTabIconsProperty
IsActiveProperty
Defines the IsActive property.
public static readonly StyledProperty<bool> IsActiveProperty
IsTabLayoutAnimationEnabledProperty
Defines the IsTabLayoutAnimationEnabled property.
public static readonly StyledProperty<bool> IsTabLayoutAnimationEnabledProperty
IsTabLayoutAnimationEnabledResolvedProperty
Defines the IsTabLayoutAnimationEnabledResolved property.
public static readonly StyledProperty<bool> IsTabLayoutAnimationEnabledResolvedProperty
IsTabStripVisibleProperty
Defines the IsTabStripVisible property.
public static readonly StyledProperty<bool> IsTabStripVisibleProperty
MaxTabExtentProperty
Defines the MaxTabExtent property.
public static readonly StyledProperty<double> MaxTabExtentProperty
MinTabExtentProperty
Defines the MinTabExtent property.
public static readonly StyledProperty<double> MinTabExtentProperty
SelectedWindowProperty
Defines the SelectedWindow property.
public static readonly StyledProperty<DockingWindow?> SelectedWindowProperty
SingleTabLayoutBehaviorProperty
Defines the SingleTabLayoutBehavior property.
public static readonly StyledProperty<SingleTabLayoutBehavior> SingleTabLayoutBehaviorProperty
StateProperty
Defines the State property.
public static readonly DirectProperty<DockingWindowContainerBase, DockingWindowState> StateProperty
TabControlThemeProperty
Defines the TabControlTheme property.
public static readonly StyledProperty<ControlTheme?> TabControlThemeProperty
TabItemContainerThemeProperty
Defines the TabItemContainerTheme property.
public static readonly StyledProperty<ControlTheme?> TabItemContainerThemeProperty
TabOverflowBehaviorProperty
Defines the TabOverflowBehavior property.
public static readonly StyledProperty<TabOverflowBehavior> TabOverflowBehaviorProperty
TabStripPlacementProperty
Defines the TabStripPlacement property.
public static readonly StyledProperty<Dock> TabStripPlacementProperty
Inherited Members
- 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.OnPointerReleased(PointerReleasedEventArgs)
- Control.OnKeyUp(KeyEventArgs)
- Control.OnPropertyChanged(AvaloniaPropertyChangedEventArgs)
- 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.OnPointerPressed(PointerPressedEventArgs)
- 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.ArrangeOverride(Size)
- 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.OnAttachedToVisualTree(VisualTreeAttachmentEventArgs)
- Visual.OnDetachedFromVisualTree(VisualTreeAttachmentEventArgs)
- 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.Equals(object, object)
- object.ReferenceEquals(object, object)