In This Article

BarcodePresenter Class

Represents a control that presents a barcode.

[TemplatePart(Name = "PART_BarcodeHost", Type = typeof(Decorator))]
[TemplatePart(Name = "PART_HeaderPresenter", Type = typeof(ContentPresenter))]
public class BarcodePresenter : TemplatedControl, IDataContextProvider, ILogical, IThemeVariantHost, IResourceHost, IResourceNode, IStyleHost, ISetLogicalParent, ISetInheritanceParent, INamed, IInputElement, IDataTemplateHost, ISetterValue
Inheritance:
object AvaloniaObject Animatable StyledElement Visual Layoutable Interactive InputElement Control TemplatedControl object
Implements:
IDataContextProvider ILogical IThemeVariantHost IResourceHost IResourceNode IStyleHost ISetLogicalParent ISetInheritanceParent INamed IInputElement IDataTemplateHost ISetterValue

Constructors

BarcodePresenter()

Initializes an instance of the class.

public BarcodePresenter()

Properties

Header

The header content that appears above the barcode.

public object? Header { get; set; }

Property Value

object

HeaderTemplate

The data template used to render the header content.

public IDataTemplate? HeaderTemplate { get; set; }

Property Value

IDataTemplate

ModuleShapeKind

The shape to use for rendering barcode modules.

public BarcodeShapeKind ModuleShapeKind { get; set; }

Property Value

BarcodeShapeKind:

The default value is Default. Linear symbologies ignore non-default values.

PrimaryAccent

The primary accent brush used for customization, such as the outer border of finder patterns in QR Codes.

public IBrush? PrimaryAccent { get; set; }

Property Value

IBrush

Remarks

When null, finder outer border modules are included in the main foreground path.

SecondaryAccent

The secondary accent brush used for customization, such as the inner square of finder patterns in QR Codes.

public IBrush? SecondaryAccent { get; set; }

Property Value

IBrush

Remarks

When null, finder inner square modules are included in the main foreground path.

SupplementValue

The supplement value to encode for symbologies that support add-on supplements, such as the EAN/UPC variants.

public string? SupplementValue { get; set; }

Property Value

string

Symbology

The barcode symbology.

[Content]
public BarcodeSymbologyBase? Symbology { get; set; }

Property Value

BarcodeSymbologyBase

UseThemeColors

Indicates whether to use theme colors for the generated barcode content, which can allow a white bar foreground on dark background in dark themes.

public bool UseThemeColors { get; set; }

Property Value

bool:

The default value is false. When this property is false, the bar foreground will be black and the background white, regardless of theme.

Value

The value to encode.

public string? Value { get; set; }

Property Value

string

ValueFontFamily

The Avalonia.Media.FontFamily to use for displayed Value text.

public FontFamily? ValueFontFamily { get; set; }

Property Value

FontFamily

ValueFontSize

The font size to use for displayed Value text.

public double ValueFontSize { get; set; }

Property Value

double

ValueForeground

The Avalonia.Media.IBrush to use for rendering Value text.

public IBrush? ValueForeground { get; set; }

Property Value

IBrush

ZoomLevel

The zoom level, which is a percentage.

public double ZoomLevel { get; set; }

Property Value

double:

The default value is 1.0, which is 100%.

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.

OnCreateAutomationPeer()

Returns a new, type-specific Avalonia.Automation.Peers.AutomationPeer implementation for the control.

protected override AutomationPeer OnCreateAutomationPeer()

Returns

AutomationPeer:

The type-specific Avalonia.Automation.Peers.AutomationPeer implementation.

Fields

HeaderProperty

Defines the Header property.

public static readonly StyledProperty<object?> HeaderProperty

HeaderTemplateProperty

Defines the HeaderTemplate property.

public static readonly StyledProperty<IDataTemplate?> HeaderTemplateProperty

ModuleShapeKindProperty

Defines the ModuleShapeKind property.

public static readonly StyledProperty<BarcodeShapeKind> ModuleShapeKindProperty

PrimaryAccentProperty

Defines the PrimaryAccent property.

public static readonly StyledProperty<IBrush?> PrimaryAccentProperty

SecondaryAccentProperty

Defines the SecondaryAccent property.

public static readonly StyledProperty<IBrush?> SecondaryAccentProperty

SupplementValueProperty

Defines the SupplementValue property.

public static readonly StyledProperty<string?> SupplementValueProperty

SymbologyProperty

Defines the Symbology property.

public static readonly StyledProperty<BarcodeSymbologyBase?> SymbologyProperty

UseThemeColorsProperty

Defines the UseThemeColors property.

public static readonly StyledProperty<bool> UseThemeColorsProperty

ValueFontFamilyProperty

Defines the ValueFontFamily property.

public static readonly StyledProperty<FontFamily?> ValueFontFamilyProperty

ValueFontSizeProperty

Defines the ValueFontSize property.

public static readonly StyledProperty<double> ValueFontSizeProperty

ValueForegroundProperty

Defines the ValueForeground property.

public static readonly StyledProperty<IBrush?> ValueForegroundProperty

ValueProperty

Defines the Value property.

public static readonly StyledProperty<string?> ValueProperty

ZoomLevelProperty

Defines the ZoomLevel property.

public static readonly StyledProperty<double> ZoomLevelProperty

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.LetterSpacingProperty
  • 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.LetterSpacing
  • TemplatedControl.Padding
  • TemplatedControl.Template
  • TemplatedControl.TemplateApplied
  • Control.FocusAdornerProperty
  • Control.TagProperty
  • Control.ContextMenuProperty
  • Control.ContextFlyoutProperty
  • Control.RequestBringIntoViewEvent
  • Control.LoadedEvent
  • Control.UnloadedEvent
  • Control.SizeChangedEvent
  • Control.OnLoaded(RoutedEventArgs)
  • Control.OnUnloaded(RoutedEventArgs)
  • Control.OnSizeChanged(SizeChangedEventArgs)
  • Control.OnAttachedToVisualTreeCore(VisualTreeAttachmentEventArgs)
  • Control.OnDetachedFromVisualTreeCore(VisualTreeAttachmentEventArgs)
  • Control.OnGotFocus(FocusChangedEventArgs)
  • Control.OnLostFocus(FocusChangedEventArgs)
  • Control.OnPointerReleased(PointerReleasedEventArgs)
  • Control.OnKeyUp(KeyEventArgs)
  • Control.OnPropertyChanged(AvaloniaPropertyChangedEventArgs)
  • Control.UpdateDataValidation(AvaloniaProperty, BindingValueType, Exception)
  • Control.FocusAdorner
  • Control.DataTemplates
  • Control.ContextMenu
  • Control.ContextFlyout
  • Control.IsLoaded
  • Control.Tag
  • 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.GettingFocusEvent
  • InputElement.LostFocusEvent
  • InputElement.LosingFocusEvent
  • 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.ContextRequestedEvent
  • InputElement.ContextCanceledEvent
  • InputElement.IsHoldingEnabledProperty
  • InputElement.IsHoldWithMouseEnabledProperty
  • InputElement.PinchEvent
  • InputElement.PinchEndedEvent
  • InputElement.PullGestureEvent
  • InputElement.PullGestureEndedEvent
  • InputElement.SwipeGestureEvent
  • InputElement.SwipeGestureEndedEvent
  • InputElement.ScrollGestureEvent
  • InputElement.ScrollGestureInertiaStartingEvent
  • InputElement.ScrollGestureEndedEvent
  • InputElement.PointerTouchPadGestureMagnifyEvent
  • InputElement.PointerTouchPadGestureRotateEvent
  • InputElement.PointerTouchPadGestureSwipeEvent
  • InputElement.TappedEvent
  • InputElement.RightTappedEvent
  • InputElement.HoldingEvent
  • InputElement.DoubleTappedEvent
  • InputElement.Focus(NavigationMethod, KeyModifiers)
  • InputElement.OnAccessKey(RoutedEventArgs)
  • InputElement.OnGettingFocus(FocusChangingEventArgs)
  • InputElement.OnLosingFocus(FocusChangingEventArgs)
  • InputElement.OnKeyDown(KeyEventArgs)
  • InputElement.OnTextInput(TextInputEventArgs)
  • InputElement.OnPointerEntered(PointerEventArgs)
  • InputElement.OnPointerExited(PointerEventArgs)
  • InputElement.OnPointerMoved(PointerEventArgs)
  • InputElement.OnPointerPressed(PointerPressedEventArgs)
  • InputElement.GetNextTabStopOverride()
  • InputElement.GetPreviousTabStopOverride()
  • InputElement.GetFirstFocusableElementOverride()
  • InputElement.GetLastFocusableElementOverride()
  • InputElement.OnPointerCaptureLost(PointerCaptureLostEventArgs)
  • InputElement.ProcessTabStopOverride(IInputElement, IInputElement, bool, bool, ref IInputElement)
  • InputElement.ProcessCandidateTabStopOverride(IInputElement, IInputElement, IInputElement, bool, ref IInputElement)
  • InputElement.OnPointerWheelChanged(PointerWheelEventArgs)
  • InputElement.OnTapped(TappedEventArgs)
  • InputElement.OnRightTapped(TappedEventArgs)
  • InputElement.OnDoubleTapped(TappedEventArgs)
  • InputElement.OnHolding(HoldingRoutedEventArgs)
  • InputElement.UpdateIsEffectivelyEnabled()
  • InputElement.GetIsHoldingEnabled(StyledElement)
  • InputElement.SetIsHoldingEnabled(StyledElement, bool)
  • InputElement.GetIsHoldWithMouseEnabled(StyledElement)
  • InputElement.SetIsHoldWithMouseEnabled(StyledElement, bool)
  • 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.GettingFocus
  • InputElement.LostFocus
  • InputElement.LosingFocus
  • InputElement.KeyDown
  • InputElement.KeyUp
  • InputElement.TextInput
  • InputElement.TextInputMethodClientRequested
  • InputElement.PointerEntered
  • InputElement.PointerExited
  • InputElement.PointerMoved
  • InputElement.PointerPressed
  • InputElement.PointerReleased
  • InputElement.PointerCaptureLost
  • InputElement.PointerWheelChanged
  • InputElement.ContextRequested
  • InputElement.ContextCanceled
  • InputElement.Pinch
  • InputElement.PinchEnded
  • InputElement.PullGesture
  • InputElement.PullGestureEnded
  • InputElement.ScrollGesture
  • InputElement.ScrollGestureInertiaStarting
  • InputElement.ScrollGestureEnded
  • InputElement.PointerTouchPadGestureMagnify
  • InputElement.PointerTouchPadGestureRotate
  • InputElement.SwipeGesture
  • InputElement.SwipeGestureEnded
  • InputElement.PointerTouchPadGestureSwipe
  • InputElement.Tapped
  • InputElement.RightTapped
  • 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.CacheModeProperty
  • 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.CacheMode
  • 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, BindingBase)
  • 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.Dispatcher
  • AvaloniaObject.PropertyChanged
  • object.GetType()
  • object.MemberwiseClone()
  • object.ToString()
  • object.Equals(object, object)
  • object.ReferenceEquals(object, object)

Extension Methods