Table of Contents

Class ValueTextBox

Namespace
CarinaStudio.Controls
Assembly
CarinaStudio.AppBase.Avalonia.dll

Avalonia.Controls.TextBox which treat input text as given value with specific type.

public abstract class ValueTextBox : TextBox, INotifyPropertyChanged, IDataContextProvider, ILogical, IThemeVariantHost, IResourceHost, IResourceNode, IStyleHost, ISetLogicalParent, ISetInheritanceParent, ISupportInitialize, IStyleable, IInputElement, IDataTemplateHost, INamed, ISetterValue
Inheritance
AvaloniaObject
Animatable
StyledElement
Visual
Layoutable
Interactive
InputElement
Control
TemplatedControl
TextBox
ValueTextBox
Implements
IDataContextProvider
ILogical
IThemeVariantHost
IResourceHost
IResourceNode
IStyleHost
ISetLogicalParent
ISetInheritanceParent
IStyleable
IInputElement
IDataTemplateHost
INamed
ISetterValue
Derived
Inherited Members
TextBox.AcceptsReturnProperty
TextBox.AcceptsTabProperty
TextBox.CaretIndexProperty
TextBox.IsReadOnlyProperty
TextBox.PasswordCharProperty
TextBox.SelectionBrushProperty
TextBox.SelectionForegroundBrushProperty
TextBox.CaretBrushProperty
TextBox.SelectionStartProperty
TextBox.SelectionEndProperty
TextBox.MaxLengthProperty
TextBox.MaxLinesProperty
TextBox.TextProperty
TextBox.TextAlignmentProperty
TextBox.HorizontalContentAlignmentProperty
TextBox.VerticalContentAlignmentProperty
TextBox.TextWrappingProperty
TextBox.LineHeightProperty
TextBox.LetterSpacingProperty
TextBox.WatermarkProperty
TextBox.UseFloatingWatermarkProperty
TextBox.NewLineProperty
TextBox.InnerLeftContentProperty
TextBox.InnerRightContentProperty
TextBox.RevealPasswordProperty
TextBox.CanCutProperty
TextBox.CanCopyProperty
TextBox.CanPasteProperty
TextBox.IsUndoEnabledProperty
TextBox.UndoLimitProperty
TextBox.CanUndoProperty
TextBox.CanRedoProperty
TextBox.CopyingToClipboardEvent
TextBox.CuttingToClipboardEvent
TextBox.PastingFromClipboardEvent
TextBox.TextChangedEvent
TextBox.TextChangingEvent
TextBox.ClearSelection()
TextBox.OnApplyTemplate(TemplateAppliedEventArgs)
TextBox.OnAttachedToVisualTree(VisualTreeAttachmentEventArgs)
TextBox.OnDetachedFromVisualTree(VisualTreeAttachmentEventArgs)
TextBox.OnGotFocus(GotFocusEventArgs)
TextBox.Cut()
TextBox.Copy()
TextBox.Paste()
TextBox.OnKeyDown(KeyEventArgs)
TextBox.OnPointerPressed(PointerPressedEventArgs)
TextBox.OnPointerMoved(PointerEventArgs)
TextBox.OnPointerReleased(PointerReleasedEventArgs)
TextBox.OnCreateAutomationPeer()
TextBox.Clear()
TextBox.SelectAll()
TextBox.Undo()
TextBox.Redo()
TextBox.MeasureOverride(Size)
TextBox.CutGesture
TextBox.CopyGesture
TextBox.PasteGesture
TextBox.AcceptsReturn
TextBox.AcceptsTab
TextBox.CaretIndex
TextBox.IsReadOnly
TextBox.PasswordChar
TextBox.SelectionBrush
TextBox.SelectionForegroundBrush
TextBox.CaretBrush
TextBox.SelectionStart
TextBox.SelectionEnd
TextBox.MaxLength
TextBox.MaxLines
TextBox.LetterSpacing
TextBox.LineHeight
TextBox.Text
TextBox.SelectedText
TextBox.HorizontalContentAlignment
TextBox.VerticalContentAlignment
TextBox.TextAlignment
TextBox.Watermark
TextBox.UseFloatingWatermark
TextBox.InnerLeftContent
TextBox.InnerRightContent
TextBox.RevealPassword
TextBox.TextWrapping
TextBox.NewLine
TextBox.CanCut
TextBox.CanCopy
TextBox.CanPaste
TextBox.IsUndoEnabled
TextBox.UndoLimit
TextBox.CanUndo
TextBox.CanRedo
TextBox.CopyingToClipboard
TextBox.CuttingToClipboard
TextBox.PastingFromClipboard
TextBox.TextChanged
TextBox.TextChanging
TemplatedControl.BackgroundProperty
TemplatedControl.BorderBrushProperty
TemplatedControl.BorderThicknessProperty
TemplatedControl.CornerRadiusProperty
TemplatedControl.FontFamilyProperty
TemplatedControl.FontSizeProperty
TemplatedControl.FontStyleProperty
TemplatedControl.FontWeightProperty
TemplatedControl.FontStretchProperty
TemplatedControl.ForegroundProperty
TemplatedControl.PaddingProperty
TemplatedControl.TemplateProperty
TemplatedControl.IsTemplateFocusTargetProperty
TemplatedControl.TemplateAppliedEvent
TemplatedControl.GetIsTemplateFocusTarget(Control)
TemplatedControl.ApplyTemplate()
TemplatedControl.GetTemplateFocusTarget()
TemplatedControl.OnAttachedToLogicalTree(LogicalTreeAttachmentEventArgs)
TemplatedControl.OnDetachedFromLogicalTree(LogicalTreeAttachmentEventArgs)
TemplatedControl.OnTemplateChanged(AvaloniaPropertyChangedEventArgs)
TemplatedControl.Background
TemplatedControl.BorderBrush
TemplatedControl.BorderThickness
TemplatedControl.CornerRadius
TemplatedControl.FontFamily
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.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.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.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.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.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.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.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.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<T>(StyledProperty<T>, T, BindingPriority)
AvaloniaObject.SetValue<T>(DirectPropertyBase<T>, T)
AvaloniaObject.SetCurrentValue<T>(StyledProperty<T>, 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
Extension Methods

Constructors

ValueTextBox()

Initialize new ValueTextBox instance.

protected ValueTextBox()

Fields

AcceptsWhiteSpacesProperty

Property of AcceptsWhiteSpaces.

public static readonly StyledProperty<bool> AcceptsWhiteSpacesProperty

Field Value

StyledProperty<bool>

CoerceValueWhenLostFocusProperty

public static readonly StyledProperty<bool> CoerceValueWhenLostFocusProperty

Field Value

StyledProperty<bool>

DefaultValueProperty

Property of DefaultValue.

public static readonly StyledProperty<object?> DefaultValueProperty

Field Value

StyledProperty<object>

IsNullValueAllowedProperty

Property of IsNullValueAllowed.

public static readonly StyledProperty<bool> IsNullValueAllowedProperty

Field Value

StyledProperty<bool>

IsTextValidProperty

Property of IsTextValid.

public static readonly DirectProperty<ValueTextBox, bool> IsTextValidProperty

Field Value

DirectProperty<ValueTextBox, bool>

ValidationDelayProperty

Property of ValidationDelay.

public static readonly StyledProperty<int> ValidationDelayProperty

Field Value

StyledProperty<int>

ValueProperty

Property of Value.

public static readonly StyledProperty<object?> ValueProperty

Field Value

StyledProperty<object>

Properties

AcceptsWhiteSpaces

Get or set whether white space characters can be accepted or not.

public bool AcceptsWhiteSpaces { get; set; }

Property Value

bool

CoerceValueWhenLostFocus

Get or set whether value should be coerced when the control lost its focus or not.

public bool CoerceValueWhenLostFocus { get; set; }

Property Value

bool

DefaultValue

Get of set default value for IsNullValueAllowed is False and Avalonia.Controls.TextBox.Text is empty.

public object? DefaultValue { get; set; }

Property Value

object

IsNullValueAllowed

Get or set whether Value can be Null or not.

public bool IsNullValueAllowed { get; set; }

Property Value

bool

IsTextValid

Get whether input Avalonia.Controls.TextBox.Text represent a valid value or not.

public bool IsTextValid { get; }

Property Value

bool

StyleKeyOverride

Gets the type by which the element is styled.

protected override Type StyleKeyOverride { get; }

Property Value

Type

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.

ValidationDelay

Get or set the delay of validating text after user typing in milliseconds.

public int ValidationDelay { get; set; }

Property Value

int

Value

Get or set value.

public object? Value { get; set; }

Property Value

object

Methods

CheckValueEquality(object?, object?)

Check equality of values.

protected virtual bool CheckValueEquality(object? x, object? y)

Parameters

x object

First value.

y object

Second value.

Returns

bool

True if two values are equivalent.

CoerceValue(object)

Coerce the set value.

protected virtual object CoerceValue(object value)

Parameters

value object

Set value.

Returns

object

Coerced value.

ConvertToText(object)

Convert value to text.

protected virtual string? ConvertToText(object value)

Parameters

value object

Value.

Returns

string

Converted text.

OnLostFocus(RoutedEventArgs)

Called before the Avalonia.Input.InputElement.LostFocus event occurs.

protected override void OnLostFocus(RoutedEventArgs e)

Parameters

e RoutedEventArgs

The event args.

OnPastingFromClipboard(string?)

Called when pasting text from clipboard

protected virtual void OnPastingFromClipboard(string? text)

Parameters

text string

The text from clipboard.

OnPropertyChanged(AvaloniaPropertyChangedEventArgs)

Called when a avalonia property changes on the object.

protected override void OnPropertyChanged(AvaloniaPropertyChangedEventArgs change)

Parameters

change AvaloniaPropertyChangedEventArgs

The property change details.

OnTextInput(TextInputEventArgs)

Called before the Avalonia.Input.InputElement.TextInput event occurs.

protected override void OnTextInput(TextInputEventArgs e)

Parameters

e TextInputEventArgs

The event args.

TryConvertToValue(string, out object?)

Try converting text to value.

protected abstract bool TryConvertToValue(string text, out object? value)

Parameters

text string

Text.

value object

Converted value.

Returns

bool

True if conversion succeeded.

Validate()

Validate input Avalonia.Controls.TextBox.Text and generate corresponding value.

public bool Validate()

Returns

bool

True if input Avalonia.Controls.TextBox.Text generates a valid value.