MessageBox Class

Represents Avalonia framework based TemplatedControl which can be used to show a message to the user or to prompt the user for an action or simple input.

Definition

Namespace: BeeMobile.MessageBox
Assembly: BeeMobile.MessageBox.AVA (in BeeMobile.MessageBox.AVA.dll) Version: 11.0.0.0+25fcde4cb1146137b36e11419a35b5b60dc956f0
C#
public class MessageBox : TemplatedControl
Inheritance
Object    AvaloniaObject    Animatable    StyledElement    Visual    Layoutable    Interactive    InputElement    Control    TemplatedControl    MessageBox

Remarks

A MessageBox is a rectangular area that is displayed typically at the top (in terms of Z-axis) of the visual tree. When displayed, it blocks the entire user interface thus forcing user to interact with it. It is used to display a message to the user and give him options on how to act to the displayed message. The user can act only by pressing a button at which point MessageBox gets dismissed (hides itself) and the application continues execution based on which button user pressed.

MessageBox is typically used in one of these 4 scenarios:

  • To display an informational message. In such case MessageBox will typically contain just one button which the user is supposed to press once he read the message. The button would typically contain a confirmation text, such as "OK" or "Dismiss" suggesting, that the user acknowledged the displayed message.
  • To display a question to the user. In such case MessageBox will typically contain several buttons, each representing a different answer to the question. Depending on what answer user chooses, program would continue respecting the user's choice. Typically MessageBox would display two buttons - "Yes" and "No", or "Abort" and "Retry".
  • To display a warning message. A warning usually indicates, that software is headed into an error state, but the error has no yet ocurred.
  • To display an error message. An error message would typically by accompanied with just one button, such as "OK". Alternatively the program may give user choices on how to deal with the error (typically, abort the entire operation, retry, skip current operation step, etc.).

As an alternative to "standard" MessageBox buttons which appear under the text message, MessageBox is capable to displaying a "Close" button in its upper-right corner. The button can be used to dismiss it, if the current use-case permits its dimissal.

MessageBox supports displaying of at most 4 different buttons.

MesssageBox is capable of displaying a title text.

MessageBox contains a built-in ContextMenu which can be invoked by right-clicking its body text. The ContextMenu gives the user a functionality to copy MessageBox text into clipboard.

To invoke a MessageBox use its Show(String, String, String, ActionMessageBoxDismissedEventArgs, Boolean, MessageBoxIconEnum) method.

Properties

ActualThemeVariant
(Inherited from StyledElement)
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)
Bounds Gets the bounds of the control relative to its parent.
(Inherited from Visual)
ButtonLabels Gets an AvaloniaList of Strings, which contains labels of buttons, which MessageBox should display.
BypassFlowDirectionPolicies Gets a value indicating whether control bypass FlowDirecton policies.
(Inherited from Visual)
Classes Gets or sets the styled element's classes.
(Inherited from StyledElement)
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)
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)
CornerRadius Gets or sets the radius of the border rounded corners.
(Inherited from TemplatedControl)
Cursor Gets or sets associated mouse cursor.
(Inherited from InputElement)
DataContext Gets or sets the control's data context.
(Inherited from StyledElement)
DataTemplates Gets or sets the data templates for the control.
(Inherited from Control)
DesiredSize Gets the size that this element computed during the measure pass of the layout process.
(Inherited from Layoutable)
Effect Gets or sets the effect of the control.
(Inherited from Visual)
FlowDirection Gets or sets the text flow direction.
(Inherited from Visual)
Focusable Gets or sets a value indicating whether the control can receive focus.
(Inherited from InputElement)
FocusAdorner Gets or sets the control's focus adorner.
(Inherited from Control)
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)
GestureRecognizers
(Inherited from InputElement)
HasCloseButton Gets or sets a Boolean which specifies, if MessageBox should have a close button displayed in its upper-right corner.
HasMirrorTransform Gets or sets a value indicating whether to apply mirror transform on this control.
(Inherited from Visual)
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)
Icon Gets or sets a MessageBoxIconEnum which specifies, if what icon MessageBox should display in its upper-left corner.
InheritanceParent Gets or sets the parent object that inherited AvaloniaProperty values are inherited from.
(Inherited from AvaloniaObject)
IsArrangeValid Gets a value indicating whether the control's layouts arrange is valid.
(Inherited from Layoutable)
IsDisplayed Gets an information, if MessageBox is currently displayed.
IsEffectivelyEnabled
(Inherited from InputElement)
IsEffectivelyVisible Gets a value indicating whether this control and all its parents are visible.
(Inherited from Visual)
IsEnabled Gets or sets a value indicating whether the control is enabled for user interaction.
(Inherited from InputElement)
IsEnabledCore Allows a derived class to override the enabled state of the control.
(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)
IsInitialized Gets a value that indicates whether the element has finished initialization.
(Inherited from StyledElement)
IsKeyboardFocusWithin Gets a value indicating whether keyboard focus is anywhere within the element or its visual tree child elements.
(Inherited from InputElement)
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)
IsMeasureValid Gets a value indicating whether the control's layout measure is valid.
(Inherited from Layoutable)
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)
IsVisible Gets or sets a value indicating whether this control is visible.
(Inherited from Visual)
Item Gets or sets the value of a AvaloniaProperty.
(Inherited from AvaloniaObject)
Item Gets or sets a binding for a AvaloniaProperty.
(Inherited from AvaloniaObject)
KeyBindings
(Inherited from InputElement)
LogicalChildren Gets the styled element's logical children.
(Inherited from StyledElement)
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)
Name Gets or sets the name of the styled element.
(Inherited from StyledElement)
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)
Padding Gets or sets the padding placed between the border of the control and its content.
(Inherited from TemplatedControl)
Parent Gets the styled element's logical parent.
(Inherited from StyledElement)
PseudoClasses Gets the Classes collection in a form that allows adding and removing pseudoclasses.
(Inherited from StyledElement)
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)
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)
StyleKeyOverride Gets the type by which the element is styled.
(Inherited from StyledElement)
Styles Gets the styles for the styled element.
(Inherited from StyledElement)
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)
Tag Gets or sets a user-defined object attached to the control.
(Inherited from Control)
Template Gets or sets the template that defines the control's appearance.
(Inherited from TemplatedControl)
TemplatedParent Gets the styled element whose lookless template this styled element is part of.
(Inherited from StyledElement)
Text Gets or sets a String which appears as MessageBox title.
Theme Gets or sets the theme to be applied to the element.
(Inherited from StyledElement)
TitleText Gets or sets a String which appears as MessageBox title.
Transitions Gets or sets the property transitions for the control.
(Inherited from Animatable)
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)
VisualChildren Gets the control's child visuals.
(Inherited from Visual)
VisualRoot Gets the root of the visual tree, if the control is attached to a visual tree.
(Inherited from Visual)
Width Gets or sets the width of the element.
(Inherited from Layoutable)
ZIndex Gets or sets the Z index of the control.
(Inherited from Visual)

Methods

AddHandler(RoutedEvent, Delegate, RoutingStrategies, Boolean) Adds a handler for the specified routed event.
(Inherited from Interactive)
AddHandler``1(RoutedEventUMP, EventHandlerUMP, RoutingStrategies, Boolean) Adds a handler for the specified routed event.
(Inherited from Interactive)
ApplyStyling Applies styling to the control if the control is initialized and styling is not already applied.
(Inherited from StyledElement)
ApplyTemplate
(Inherited from TemplatedControl)
Arrange Arranges the control and its children.
(Inherited from Layoutable)
ArrangeCore The default implementation of the control's arrange pass.
(Inherited from Layoutable)
ArrangeOverride Positions child elements as part of a layout pass.
(Inherited from Layoutable)
BeginInit
(Inherited from StyledElement)
Bind(AvaloniaProperty, IBinding) Binds a AvaloniaProperty to an IBinding.
(Inherited from AvaloniaObject)
Bind(AvaloniaProperty, IObservableObject, BindingPriority) Binds a AvaloniaProperty to an observable.
(Inherited from AvaloniaObject)
Bind``1(DirectPropertyBaseUMP, IObservableUMP) Binds a AvaloniaProperty to an observable.
(Inherited from AvaloniaObject)
Bind``1(DirectPropertyBaseUMP, IObservableBindingValueUMP) Binds a AvaloniaProperty to an observable.
(Inherited from AvaloniaObject)
Bind``1(DirectPropertyBaseUMP, IObservableObject) Binds a AvaloniaProperty to an observable.
(Inherited from AvaloniaObject)
Bind``1(StyledPropertyUMP, IObservableUMP, BindingPriority) Binds a AvaloniaProperty to an observable.
(Inherited from AvaloniaObject)
Bind``1(StyledPropertyUMP, IObservableBindingValueUMP, BindingPriority) Binds a AvaloniaProperty to an observable.
(Inherited from AvaloniaObject)
Bind``1(StyledPropertyUMP, IObservableObject, BindingPriority) Binds a AvaloniaProperty to an observable.
(Inherited from AvaloniaObject)
BuildEventRoute Builds an event route for a routed event.
(Inherited from Interactive)
CheckAccess Returns a value indicating whether the current thread is the UI thread.
(Inherited from AvaloniaObject)
ClearValue(AvaloniaProperty) Clears a AvaloniaProperty's local value.
(Inherited from AvaloniaObject)
ClearValue``1(AvaloniaPropertyUMP) Clears a AvaloniaProperty's local value.
(Inherited from AvaloniaObject)
ClearValue``1(DirectPropertyBaseUMP) Clears a AvaloniaProperty's local value.
(Inherited from AvaloniaObject)
ClearValue``1(StyledPropertyUMP) Clears a AvaloniaProperty's local value.
(Inherited from AvaloniaObject)
CoerceValue Coerces the specified AvaloniaProperty.
(Inherited from AvaloniaObject)
EndInit
(Inherited from StyledElement)
Equals Compares two objects using reference equality.
(Inherited from AvaloniaObject)
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
Focus
(Inherited from InputElement)
GetBaseValue``1 Gets an AvaloniaProperty base value.
(Inherited from AvaloniaObject)
GetHashCode Gets the hash code for the object.
(Inherited from AvaloniaObject)
GetTemplateFocusTarget
(Inherited from TemplatedControl)
GetTypeGets the Type of the current instance.
(Inherited from Object)
GetValue(AvaloniaProperty) Gets a AvaloniaProperty value.
(Inherited from AvaloniaObject)
GetValue``1(DirectPropertyBaseUMP) Gets a AvaloniaProperty value.
(Inherited from AvaloniaObject)
GetValue``1(StyledPropertyUMP) Gets a AvaloniaProperty value.
(Inherited from AvaloniaObject)
Hide Hides MessageBox, if it is displayed, else does nothing.
InitializeComponent Wires up the controls and optionally loads XAML markup and attaches dev tools (if Avalonia.Diagnostics package is referenced).
InitializeIfNeeded
(Inherited from StyledElement)
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)
InvalidateMirrorTransform Computes the HasMirrorTransform value according to the FlowDirection and BypassFlowDirectionPolicies
(Inherited from Visual)
InvalidateVisual Invalidates the visual and queues a repaint.
(Inherited from Visual)
IsAnimating Checks whether a AvaloniaProperty is animating.
(Inherited from AvaloniaObject)
IsSet Checks whether a AvaloniaProperty is set on this object.
(Inherited from AvaloniaObject)
LogicalChildrenCollectionChanged
(Inherited from Visual)
Measure Carries out a measure of the control.
(Inherited from Layoutable)
MeasureCore Method performs measurement of size of MessageBox before it is drawn.
(Overrides Layoutable.MeasureCore(Size))
MeasureOverride Measures the control and its child elements as part of a layout pass.
(Inherited from Layoutable)
MemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
OnApplyTemplate Fires TemplateApplied event.
(Overrides TemplatedControl.OnApplyTemplate(TemplateAppliedEventArgs))
OnAttachedToLogicalTree
(Inherited from TemplatedControl)
OnAttachedToVisualTree Called when the control is added to a rooted visual tree.
(Inherited from Visual)
OnAttachedToVisualTreeCore
(Inherited from Control)
OnCreateAutomationPeer Returns a new, type-specific AutomationPeer implementation for the control.
(Inherited from Control)
OnDataContextBeginUpdate Called when the DataContext begins updating.
(Inherited from StyledElement)
OnDataContextChanged Called when the DataContext property changes.
(Inherited from StyledElement)
OnDataContextEndUpdate Called when the DataContext finishes updating.
(Inherited from StyledElement)
OnDetachedFromLogicalTree
(Inherited from TemplatedControl)
OnDetachedFromVisualTree Called when the control is removed from a rooted visual tree.
(Inherited from Visual)
OnDetachedFromVisualTreeCore
(Inherited from Control)
OnGotFocus
(Inherited from Control)
OnInitialized Called when the control finishes initialization.
(Inherited from StyledElement)
OnKeyDown Called before the KeyDown event occurs.
(Inherited from InputElement)
OnKeyUp
(Inherited from Control)
OnLoaded Invoked just before the Loaded event.
(Inherited from Control)
OnLostFocus
(Inherited from Control)
OnMeasureInvalidated Called by InvalidateMeasure
(Inherited from Layoutable)
OnPointerCaptureLost Called before the PointerCaptureLost event occurs.
(Inherited from InputElement)
OnPointerEntered Called before the PointerEntered event occurs.
(Inherited from InputElement)
OnPointerExited Called before the PointerExited event occurs.
(Inherited from InputElement)
OnPointerMoved Called before the PointerMoved event occurs.
(Inherited from InputElement)
OnPointerPressed Called before the PointerPressed event occurs.
(Inherited from InputElement)
OnPointerReleased
(Inherited from Control)
OnPointerWheelChanged Called before the PointerWheelChanged event occurs.
(Inherited from InputElement)
OnPropertyChanged
(Inherited from Control)
OnPropertyChangedCore
(Inherited from Animatable)
OnSizeChanged Invoked just before the SizeChanged event.
(Inherited from Control)
OnTemplateChanged Called when the Template property changes.
(Inherited from TemplatedControl)
OnTextInput Called before the TextInput event occurs.
(Inherited from InputElement)
OnUnloaded Invoked just before the Unloaded event.
(Inherited from Control)
OnVisualParentChanged
(Inherited from Layoutable)
RaiseEvent Raises a routed event.
(Inherited from Interactive)
RaisePropertyChanged``1 Raises the PropertyChanged event for a direct property.
(Inherited from AvaloniaObject)
RemoveHandler(RoutedEvent, Delegate) Removes a handler for the specified routed event.
(Inherited from Interactive)
RemoveHandler``1(RoutedEventUMP, EventHandlerUMP) Removes a handler for the specified routed event.
(Inherited from Interactive)
Render Renders the visual to a DrawingContext.
(Inherited from Visual)
SetAndRaise``1 Sets the backing field for a direct avalonia property, raising the PropertyChanged event if the value has changed.
(Inherited from AvaloniaObject)
SetCurrentValue(AvaloniaProperty, Object) Sets the value of a dependency property without changing its value source.
(Inherited from AvaloniaObject)
SetCurrentValue``1(StyledPropertyUMP, UMP) Sets the value of a dependency property without changing its value source.
(Inherited from AvaloniaObject)
SetValue(AvaloniaProperty, Object, BindingPriority) Sets a AvaloniaProperty value.
(Inherited from AvaloniaObject)
SetValue``1(DirectPropertyBaseUMP, UMP) Sets a AvaloniaProperty value.
(Inherited from AvaloniaObject)
SetValue``1(StyledPropertyUMP, UMP, BindingPriority) Sets a AvaloniaProperty value.
(Inherited from AvaloniaObject)
Show Shows MessageBox with specified text, title text, buttons, icon and optionally the Close button.
ToStringReturns a string that represents the current object.
(Inherited from Object)
TryGetResource
(Inherited from StyledElement)
UpdateDataValidation Called to update the validation state for properties for which data validation is enabled.
(Inherited from AvaloniaObject)
UpdateIsEffectivelyEnabled Updates the IsEffectivelyEnabled property value according to the parent control's enabled state and IsEnabledCore.
(Inherited from InputElement)
UpdateLayout Executes a layout pass.
(Inherited from Layoutable)
VerifyAccess Checks that the current thread is the UI thread and throws if not.
(Inherited from AvaloniaObject)

Events

ActualThemeVariantChanged
(Inherited from StyledElement)
AttachedToLogicalTree Raised when the styled element is attached to a rooted logical tree.
(Inherited from StyledElement)
AttachedToVisualTree Raised when the control is attached to a rooted visual tree.
(Inherited from Visual)
ContextRequested Occurs when the user has completed a context input gesture, such as a right-click.
(Inherited from Control)
DataContextChanged Occurs when the DataContext property changes.
(Inherited from StyledElement)
DetachedFromLogicalTree Raised when the styled element is detached from a rooted logical tree.
(Inherited from StyledElement)
DetachedFromVisualTree Raised when the control is detached from a rooted visual tree.
(Inherited from Visual)
DoubleTapped Occurs when a double-tap gesture occurs on the control.
(Inherited from InputElement)
EffectiveViewportChanged Occurs when the element's effective viewport changes.
(Inherited from Layoutable)
GotFocus Occurs when the control receives focus.
(Inherited from InputElement)
Holding Occurs when a hold gesture occurs on the control.
(Inherited from InputElement)
Initialized Occurs when the styled element has finished initialization.
(Inherited from StyledElement)
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)
LayoutUpdated Occurs when a layout pass completes for the control.
(Inherited from Layoutable)
Loaded Occurs when the control has been fully constructed in the visual tree and both layout and render are complete.
(Inherited from Control)
LostFocus Occurs when the control loses focus.
(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)
PointerWheelChanged Occurs when the mouse is scrolled over the control.
(Inherited from InputElement)
PropertyChanged Raised when a AvaloniaProperty value changes on this object.
(Inherited from AvaloniaObject)
ResourcesChanged Occurs when a resource in this styled element or a parent styled element has changed.
(Inherited from StyledElement)
SizeChanged Occurs when the bounds (actual size) of the control have changed.
(Inherited from Control)
Tapped Occurs when a tap gesture occurs on the control.
(Inherited from InputElement)
TemplateApplied Raised when the control's template is applied.
(Inherited from TemplatedControl)
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)
Unloaded Occurs when the control is removed from the visual tree.
(Inherited from Control)

Fields

ButtonLabelsProperty Implements ButtonLabels as Avalonia direct property.
HasCloseButtonProperty Implements HasCloseButton property as Avalonia styled-property.
IconProperty Implements HasCloseButton property as Avalonia styled-property.
TextProperty Implements Text property as Avalonia styled-property.
TitleTextProperty Implements TitleText property as Avalonia styled-property.

See Also