BarMenuFlyoutPresenter Class
Represents a menu flyout that can host any bar control.
public class BarMenuFlyoutPresenter : MenuFlyoutPresenter, IDataContextProvider, IThemeVariantHost, IResourceHost, IResourceNode, IStyleHost, ISetLogicalParent, ISetInheritanceParent, IStyleable, INamed, IDataTemplateHost, ISetterValue, IChildIndexProvider, IFocusScope, IInputElement, ILogical
- Inheritance:
- object AvaloniaObject Animatable StyledElement Visual Layoutable Interactive InputElement Control TemplatedControl ItemsControl SelectingItemsControl MenuBase MenuFlyoutPresenter object
- Implements:
- IDataContextProvider IThemeVariantHost IResourceHost IResourceNode IStyleHost ISetLogicalParent ISetInheritanceParent IStyleable INamed IDataTemplateHost ISetterValue IChildIndexProvider IFocusScope IInputElement ILogical
Constructors
BarMenuFlyoutPresenter()
Initializes an instance of the class.
public BarMenuFlyoutPresenter()
Properties
ItemContainerTemplateSelector
The IItemContainerTemplateSelector that creates UI controls for bar control view models.
public IItemContainerTemplateSelector ItemContainerTemplateSelector { get; set; }
Property Value
StyleKeyOverride
Gets the type by which the element is styled.
protected override Type StyleKeyOverride { get; }
Property Value
Remarks
Usually controls are styled by their own type, but there are instances where you want an element to be styled by its base type, e.g. creating SpecialButton that derives from Button and adds extra functionality but is still styled as a regular Button. Override this property to change the style for a control class, returning the type that you wish the elements to be styled as.
Methods
ClearContainerForItemOverride(Control)
Undoes the effects of the PrepareContainerForItemOverride(Control, object, int) method.
protected override void ClearContainerForItemOverride(Control container)
Parameter | Type | Description |
---|---|---|
container | Control | The container element. |
CreateContainerForItemOverride(object?, int, object?)
Creates or a container that can be used to display an item.
protected override Control CreateContainerForItemOverride(object? item, int index, object? recycleKey)
Parameter | Type | Description |
---|---|---|
item | object | |
index | int | |
recycleKey | object |
Returns
- Control
NeedsContainerOverride(object?, int, out object?)
Determines whether the specified item can be its own container.
protected override bool NeedsContainerOverride(object? item, int index, out object? recycleKey)
Parameter | Type | Description |
---|---|---|
item | object | The item to check. |
index | int | The index of the item. |
recycleKey | object | When the method returns, contains a key that can be used to locate a previously
recycled container of the correct type, or null if the item cannot be recycled.
If the item is its own container then by definition it cannot be recycled, so
|
Returns
- bool:
true if the item needs a container; otherwise false if the item can itself be used as a container.
PrepareContainerForItemOverride(Control, object?, int)
Prepares the specified element to display the specified item.
protected override void PrepareContainerForItemOverride(Control container, object? item, int index)
Parameter | Type | Description |
---|---|---|
container | Control | The element that's used to display the specified item. |
item | object | The item to display. |
index | int | The index of the item to display. |
Fields
ItemContainerTemplateSelectorProperty
Defines the ItemContainerTemplateSelector property.
public static readonly StyledProperty<IItemContainerTemplateSelector> ItemContainerTemplateSelectorProperty
Inherited Members
- MenuFlyoutPresenter.Close()
- MenuFlyoutPresenter.Open()
- MenuFlyoutPresenter.OnDetachedFromVisualTree(VisualTreeAttachmentEventArgs)
- MenuBase.IsOpenProperty
- MenuBase.OpenedEvent
- MenuBase.ClosedEvent
- MenuBase.OnKeyDown(KeyEventArgs)
- MenuBase.OnAttachedToVisualTree(VisualTreeAttachmentEventArgs)
- MenuBase.OnSubmenuOpened(RoutedEventArgs)
- MenuBase.IsOpen
- MenuBase.InteractionHandler
- MenuBase.Opened
- MenuBase.Closed
- SelectingItemsControl.AutoScrollToSelectedItemProperty
- SelectingItemsControl.SelectedIndexProperty
- SelectingItemsControl.SelectedItemProperty
- SelectingItemsControl.SelectedValueProperty
- SelectingItemsControl.SelectedValueBindingProperty
- SelectingItemsControl.SelectedItemsProperty
- SelectingItemsControl.SelectionProperty
- SelectingItemsControl.SelectionModeProperty
- SelectingItemsControl.IsSelectedProperty
- SelectingItemsControl.IsTextSearchEnabledProperty
- SelectingItemsControl.IsSelectedChangedEvent
- SelectingItemsControl.SelectionChangedEvent
- SelectingItemsControl.WrapSelectionProperty
- SelectingItemsControl.BeginInit()
- SelectingItemsControl.EndInit()
- SelectingItemsControl.GetIsSelected(Control)
- SelectingItemsControl.SetIsSelected(Control, bool)
- SelectingItemsControl.GetContainerFromEventSource(object)
- SelectingItemsControl.OnApplyTemplate(TemplateAppliedEventArgs)
- SelectingItemsControl.ContainerForItemPreparedOverride(Control, object, int)
- SelectingItemsControl.ContainerIndexChangedOverride(Control, int, int)
- SelectingItemsControl.OnDataContextBeginUpdate()
- SelectingItemsControl.OnDataContextEndUpdate()
- SelectingItemsControl.UpdateDataValidation(AvaloniaProperty, BindingValueType, Exception)
- SelectingItemsControl.OnInitialized()
- SelectingItemsControl.OnTextInput(TextInputEventArgs)
- SelectingItemsControl.OnPropertyChanged(AvaloniaPropertyChangedEventArgs)
- SelectingItemsControl.MoveSelection(NavigationDirection, bool, bool)
- SelectingItemsControl.MoveSelection(Control, NavigationDirection, bool, bool)
- SelectingItemsControl.UpdateSelection(int, bool, bool, bool, bool, bool)
- SelectingItemsControl.UpdateSelection(Control, bool, bool, bool, bool, bool)
- SelectingItemsControl.UpdateSelectionFromEventSource(object, bool, bool, bool, bool, bool)
- SelectingItemsControl.AutoScrollToSelectedItem
- SelectingItemsControl.SelectedIndex
- SelectingItemsControl.SelectedItem
- SelectingItemsControl.SelectedValueBinding
- SelectingItemsControl.SelectedValue
- SelectingItemsControl.SelectedItems
- SelectingItemsControl.Selection
- SelectingItemsControl.IsTextSearchEnabled
- SelectingItemsControl.WrapSelection
- SelectingItemsControl.SelectionMode
- SelectingItemsControl.AlwaysSelected
- SelectingItemsControl.SelectionChanged
- ItemsControl.ItemContainerThemeProperty
- ItemsControl.ItemCountProperty
- ItemsControl.ItemsPanelProperty
- ItemsControl.ItemsSourceProperty
- ItemsControl.ItemTemplateProperty
- ItemsControl.DisplayMemberBindingProperty
- ItemsControl.ContainerFromIndex(int)
- ItemsControl.ContainerFromItem(object)
- ItemsControl.IndexFromContainer(Control)
- ItemsControl.ItemFromContainer(Control)
- ItemsControl.GetRealizedContainers()
- ItemsControl.ScrollIntoView(int)
- ItemsControl.ScrollIntoView(object)
- ItemsControl.ItemsControlFromItemContainer(Control)
- ItemsControl.NeedsContainer<T>(object, out object)
- ItemsControl.OnGotFocus(GotFocusEventArgs)
- ItemsControl.OnCreateAutomationPeer()
- ItemsControl.RefreshContainers()
- ItemsControl.GetNextControl(INavigableContainer, NavigationDirection, IInputElement, bool)
- ItemsControl.DisplayMemberBinding
- ItemsControl.ItemContainerGenerator
- ItemsControl.Items
- ItemsControl.ItemContainerTheme
- ItemsControl.ItemCount
- ItemsControl.ItemsPanel
- ItemsControl.ItemsSource
- ItemsControl.ItemTemplate
- ItemsControl.Presenter
- ItemsControl.ItemsPanelRoot
- ItemsControl.ItemsView
- ItemsControl.DefaultRecycleKey
- ItemsControl.ContainerPrepared
- ItemsControl.ContainerIndexChanged
- ItemsControl.ContainerClearing
- 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.OnLostFocus(RoutedEventArgs)
- Control.OnPointerReleased(PointerReleasedEventArgs)
- 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.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.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.ApplyStyling()
- StyledElement.InitializeIfNeeded()
- StyledElement.TryGetResource(object, ThemeVariant, out object)
- StyledElement.OnDataContextChanged(EventArgs)
- StyledElement.Name
- StyledElement.Classes
- StyledElement.DataContext
- StyledElement.IsInitialized
- StyledElement.Styles
- StyledElement.StyleKey
- StyledElement.Resources
- StyledElement.TemplatedParent
- StyledElement.Theme
- StyledElement.LogicalChildren
- StyledElement.PseudoClasses
- 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.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)