Skip to content

Releases: Actipro/Avalonia-Controls

v25.2.1

25 Aug 18:22

Choose a tag to compare

Bars

  • Added IHasVariantImages interface implementation to any view model that had at least one SmallIcon, MediumIcon, or LargeIcon property defined.
  • Updated RibbonGroupLauncherButton.ContentTemplate to support glyph customization.
  • Updated menus with multiple sequential BarMenuSeparator controls to only render the first one.
  • Fixed an issue where switching layout modes on a minimized ribbon may not properly update all nested controls.
  • Fixed an issue with BarMainMenu where clicking the menu or using down arrow to open the menu did not move focus to the first menu item.
  • Fixed an issue with top-level BarMenuItem where left arrow would close the menu instead of moving to and opening the previous menu item.
  • Fixed an issue where buttons clicked in a collapsed RibbonGroup popup may not close the popup.

Docking

  • Added support to close auto-hide tool window tabs on middle-click.
  • Added DockHost.NonHostedFloatingWindowDragOpacity that can be used to make it easier to see the dock targets behind a dragged window.
  • Fixed an issue that could prevent the DockSite.WindowsDragged event from being raised after dragging a non-hosted floating window by clicking in the empty area of the titlebar.

Themes

  • Added the ThemeDefinition.ColorPaletteFactory property, which allows for customization of the color palette generated for light and dark theme variants.
  • Improved the DefaultColorPaletteFactory logic for generating dark shades.
  • Updated the Color Palette utility in the Sample Browser to showcase switching between various neutral color ramps and accent hues.
  • Updated the DataGridColumnHeader template to not always reserve space for a sort indicator, allowing for thin columns.
  • Fixed issue where native Slider theme tick marks were not reversed when enabling IsDirectionReversed.

Shared Library

  • Added WindowTitleBar.CanConfigureCaptionNonClientHitTestResult property that, on Windows OS only, can be set to false to prevent the titlebar background from appearing as the non-client caption area.
  • Updated how WindowTitleBar calculates the title bar height reported to the operating system when the title bar is scaled.
  • Updated OverflowingItemsControlPanelBase to no longer set the visibility of container items as this could override explicitly set visibility.

v25.2.0

06 Jun 18:49

Choose a tag to compare

Bars

  • Added BarMainMenu control that can replace native Menu control.
  • Added Tag property to all view models that can be used to store custom data.
  • Added the RibbonViewModel.IsOptionsButtonVisible property.
  • Added the RibbonBackstageViewModel.CanClose property.
  • Added the RibbonBackstageViewModel.CanSelectFirstTabOnOpen property.
  • Added the RibbonTabViewModel.IsEnabled property.
  • Added the RibbonBackstageTabViewModel.IsEnabled property.
  • Added a setter declaration to the IHasTag.Tag property.
  • Updated BarComboBox to use weak event handlers for monitoring changes in the selected item.
  • Updated editable BarComboBox controls with long text to scroll to the text start on focus loss.
  • Updated a popup BarMenuItem whose key tip is accessed to focus its first child menu item.
  • Updated RibbonTabHeader to match the IsEnabled state of the corresponding RibbonTab and render text using disabled brush when appropriate.
  • Fixed an issue where RibbonBackstage might auto-select a first tab that was configured to not be visible.

Docking

  • Added a new product consisting of a complete docking tool window and multiple document interface solution.
  • End users can drag and dock windows wherever they please, and persist their layout customizations.
  • Contains docking window and MDI capabilities found in popular IDEs, and extended functionality that you won't find anywhere else.
  • Designed to fully support data-binding and use in MVVM applications.

Fundamentals

  • Added WindowControl for simulating the look and feel of a Window with a Control.
  • Added DialogChromedDecorations option for user prompts shown as a dialog that provides control over which parts of the dialog use custom chrome. The default appearance on Linux is greatly improved.
  • Added UserPromptBuilder.CanResize and WithCanResize members that can pre-configure a User Prompt to be resizable.
  • Updated User Prompt to use a WindowControl when showing prompts in overlay mode as this enables a prompt to be dragged to move. Prompts without a titlebar can be dragged by the header text or status icon.
  • Updated BadgeAdorner ZIndex to be relative to the adorned element so overlapping badge adornments have a ZIndex consistent with the adorned elements.
  • Fixed an issue where opening a new User Prompt without an explicit owner immediately after closing a window might throw an exception due to the closing window being used as the default owner.
  • Fixed an issue where a User Prompt displayed with an owner that is on a mixed DPI monitor may not initially render correctly due to an Avalonia bug.

Themes

  • Updated ThemeGenerator to generate immutable brush resources for optimal performance.
  • Updated native ScrollBar thumbs to have a minimum size.
  • Updated native control themes with changes in Avalonia through v11.3.0.
  • Updated SliderThumb control theme to show an effect when pressed.

Shared Library

  • Added a default context menu to ChromedTitleBar.
  • Added built-in Icon support to ChromedTitleBar.
  • Updated ChromedTitleBar to render caption buttons in different themes based on Windows, macOS, or Linux platform.
  • Updated ChromedTitleBar to support extending into the macOS Window title bar area.
  • Updated ChromedTitleBar to a base primitive control with a new WindowTitleBar derived control for when Window integration is desired.
  • Updated WindowTitleBar to support Windows non-client hit-testing that is new with Avalonia 11.3.0. Notably, this adds support for Snap Guides when hovering over the Maximize button.

All

  • Updated the minimum Avalonia UI dependency from v11.2.0 to v11.3.0.

v25.1.1

16 Jan 21:24

Choose a tag to compare

Bars

  • Updated context flyouts to use the theme's dismiss event pass-through setting.
  • Updated context flyouts to display at the pointer location.
  • Updated BasePopupButtonBase-based controls to have a Button UIA peer control type.
  • Updated controls that use external headers to remeasure RibbonControlGroup properly when the label or small image properties are changed.

Fundamentals

  • Added the AvatarGroup.Orientation and OverflowOrientation properties that allow for customizing the layout orientation of non-overflowed and overflowed avatars respectively.

Themes

  • Fixed an issue where the ModernTheme.RefreshResources method wouldn't properly update native and Actipro control themes for various ThemeDefinition apperance kind property changes.

Shared Library

  • Added ChromedTitleBar.AllowWindowDragOnPointerPressed property to control whether to invoke BeginMoveDrag on the parent Window during pointer pressed events.
  • Fixed an issue with WebAssembly on .NET 9 where AnimatedExpanderDecorator would throw InvalidOperationException when animating a change in expansion state.

All

  • Updated the various SR.GetString methods (used for accessing string resources) that accept string format arguments to allow null objects to be passed.

v25.1.0

06 Nov 20:37

Choose a tag to compare

Bars

  • Added a public beta of our new Bars product, which implements advanced fluent ribbons, toolbars, menus, and related controls.
  • The Ribbon control has the latest Office appearance and includes the use of subtle animations throughout all controls.
  • Ribbon can instantly switch between Classic (taller) and Simplified (single-row) layout modes, allowing for configuration of the variant resizing behavior in both modes.
  • Complex galleries can appear in the Ribbon, as well as in any popup and context menu. It's simple to create new galleries with rich visualizations for any need.
  • The StandaloneToolBar control can be used as an app's primary toolbar, or alternatively within tool windows. It can host any control that can be used in Ribbon and overflows items to a popup as needed.
  • Controls inherit similar native Avalonia controls wherever possible.
  • UI accessbility peers are implemented for the entire control hierarchy.
  • The entire control hierarchy can be built using MVVM (preferred), or alternatively directly in XAML.
  • An optional MVVM library is available that makes it easy to configure the Bars controls with MVVM techniques.

Fundamentals

  • Updated InfoBar, SettingsCard, and SettingsHeader control themes to use IconPresenter for their respective icon elements.
  • Updated UserPromptControl and UserPromptBuilder to replace IImage-based properties and methods with object-based properties and methods supported by the use of IconPresenter in the control template.
  • Updated UserPromptControl with pseudo-classes for ":error", ":information", ":question", and ":warning" based on standard status icons.

Themes

  • Updated native control themes with changes in Avalonia through v11.2.0.
  • Updated ImageProvider to support loading an image by a key formatted as a relative or absolute image path.

Shared Library

  • Added the IconPresenter control that allows for a default IDataTemplate to be configured for any object that should be presented as an icon.
  • Added ImageDataTemplateSelector that selects an IDataTemplate for an image based on different data types.
  • Added the IconControlConverter value converter that uses IconPresenter and ImageDataTemplateSelector to create a control for image-based data like IImage. This class replaces ImageControlConverter which has been deprecated in this release.

All

  • Updated the minimum Avalonia UI dependency from v11.1.0 to v11.2.0.
  • Updated internal API usage for better .NET 8+ compatibility.

v24.2.0

23 Jul 19:10

Choose a tag to compare

Themes

  • Updated native control themes with changes in Avalonia through v11.1.0.
  • Added native control theme and related sample for new HyperlinkButton control.
  • Removed default control themes for ContentControl, UserControl, and NativeMenuBar since Avalonia v11.1.0 includes a default theme in their respective class definitions.

All

  • Updated the minimum Avalonia UI dependency from v11.0.7 to v11.1.0.

v24.1.1

22 Jul 17:26

Choose a tag to compare

Fundamentals

  • Updated SegmentedBar to support ScrollViewer.IsScrollChainingEnabled.

Themes

  • Updated MenuHeadingFontWeight theme resource from Bold to SemiBold.
  • Updated TextBox control theme to work around a ScrollViewer issue.

Shared Library

  • Added new ScrollableOverflowPresenter properties for ScrollBackwardCommand, ScrollForwardCommand, and AllowEmbeddedScrollButtons that can be used to hide the built-in scroll buttons and bind scroll operations to other controls. Added a new sample to demonstrate the feature.
  • Added the ResizablePopupContentHost and PopupResizeGrip primitive controls.
  • Added OverlayInputFilter that can be used with WindowOverlayManager to control which content is disabled when an overlay is displayed (like those used by User Prompt).
  • Improved accessibility of ScrollableOverflowPresenter embedded scroll buttons.
  • Updated ScrollableOverflowPresenter to support ScrollViewer.IsScrollChainingEnabled by only marking mouse wheel events as handled when scrolling was actually performed.
  • Fixed issue where changing ScrollableOverflowPresenter.UseInfiniteConstraint did not trigger an updated layout.
  • Fixed issue where CopyButton and ToggleThemeButton might not have a default theme applied.

v24.1.0

06 May 19:03

Choose a tag to compare

Fundamentals

  • Added the Card control, which displayed grouped information for a single subject.
  • Added the CircularProgressBar control, which renders a progress percentage in a ring shape using fluent animations, and also supports an indeterminate state.
  • Added the InfoBar control, which displays essential information to a user without disrupting the user flow.
  • Added the SegmentedBar control, which can be used to select a single item with fluent animations.
  • Added the SettingsCard, SettingsExpander, and SettingsGroup controls, which can be used to organize and present configurable settings.
  • Added UserPromptBuilder.Tag property and WithTag method for storing arbitrary data.
  • Updated Avatar control styles to prevent button-related style class names (e.g., 'theme-solid', 'theme-link') from changing the Avatar theme.
  • Updated BadgeAdorner to automatically bind Badge.DataContext to the adorned element's DataContext when Badge.DataContext is null.
  • Updated BadgeAdorner to enable clipping when the Badge is within the bounds of the adorned element and disable clipping when outside the bounds.
  • Renamed UserPromptControl's FooterImage and StatusImage properties as FooterImageSource and StatusImageSource.
  • Fixed a possible exception when assinging the owner of a UserPromptWindow if the explicit owner was undefined and the coerced owner was invalid.

Themes

  • Added the ThemeProperties.ToggleSwitchHasFarAffinityProperty attached property with updated ToggleSwitch theme to allow the knob/track of a ToggleSwitch to be arranged on the right side of the control instead of the left.
  • Updated native control themes with changes in Avalonia through v11.0.10.
  • Adjusted the default font size ratios for smaller sizes.

Shared Library

  • Added the ScrollableOverflowPresenter control that displays scroll buttons when its content overflows the available space.
  • Added ShadowChrome.IsAnimationEnabled property which can be used to enable or disable animated property transitions.
  • Added the ImageControlConverter value converter that can create an Image control for an IImage source.
  • Updated DegreeAngleAnimator to be registered as a custom animator in ModernTheme's static constructor.
  • Updated DynamicImage.DisabledOpacity so that it is relative to the control's opacity.
  • Updated HyperlinkTextBlock to support 'size-*' style classes.
  • Updated MeshGradientPresenter to work with Avalonia v11.1 API changes.
  • Updated ImageProvider's cloning of RadialGradientBrush instances to work with Avalonia v11.1 API changes.
  • Renamed ActiproSoftware.UI.Avalonia.Controls.Converters.ImageKeyToImageConverter as ImageKeyToImageSourceConverter.
  • Renamed ActiproSoftware.UI.Avalonia.Media.SharedImageKeys as SharedImageSourceKeys.

All

  • Updated the minimum Avalonia UI dependency from v11.0.5 to v11.0.7.

v23.1.3

05 Feb 21:18

Choose a tag to compare

Fundamentals

  • Added new Avatar and AvatarGroup controls that render images, glyphs, initials, or text to represent people.
  • Added new Badge and NumericBadge controls that add contextual information to other controls.
  • Added the RingSpinner control that can inform an end user that some form of processing is occurring.
  • Fixed UserPromptBuilder auto-size to owner when displayed on screens with high DPI.

Themes

  • Improved the ListBox, TreeView, and DataGrid templates to better support rounded corners when CornerRadius is set.

Shared Library

  • Added the RingSlice shape that can render a portion (or the entire circle) of a ring shape.

v23.1.2

04 Dec 17:57

Choose a tag to compare

Themes

  • Added the ThemeProperties.SpinnerHasHorizontalOrientation attached property that can arrange ButtonSpinner and NumericUpDown buttons horizontally, making them more touch-friendly.
  • Added the ThemeDefinition.SpinnerHasHorizontalOrientation property that provides a global default for the ThemeProperties.SpinnerHasHorizontalOrientation attached property.
  • Fixed an issue where the new density-related markup extensions added in the previous build weren't parsing numbers with invariant culture, which had led to excessive padding on some systems.
  • Fixed an issue where a menu item's sub-menu could close when the pointer was over the popup's shadow.

Shared Library

  • Added various members to the UIColor structure to support the OKLAB and OKLCH color models.
  • Added the UIColor.ToChromaticAdaptation method that updates the color to render clearly on a given background.
  • Added the UIColor.ToGrayscale method that updates the color to a grayscale value.
  • Added the Color.ToUIColor extension method that converts a Color to a UIColor.
  • Added the IOrientedElement interface and numerous extension methods.
  • Added the ShadowChrome.Background and Padding properties.
  • Updated ArrayExtension and DelimitedArrayExtension to return generic object arrays for AOT compatibility instead of type-specific arrays. The ArrayExtension.Type property has been deprecated and will be removed in a future release.

All

  • Improved support for trimming and Native AOT (Ahead-of-Time).

v23.1.1

14 Nov 21:40

Choose a tag to compare

Themes

  • Added a new ThemeDefinition.UserInterfaceDensity property with Compact, Normal, and Spacious options that can alter spacing throughout an application's user interface. The default value is Normal, and can be changed in the Sample Browser with new View menu items.
  • Added a new documentation topic on User Interface Density.
  • Added the ScaledThicknessExtension, ScaledCornerRadiusExtension, ScaledDoubleExtension, and ScaledGridLengthExtension markup extensions to support dynamic values that scale based on UI density.
  • Added neutral control theme brush resources for outline, soft, and solid themes (e.g., ControlBackgroundBrushOutline, ControlBackgroundBrushSoft, ControlBackgroundBrushSolid, etc.).
  • Updated controls and themes to adjust their appearance based on UI density.
  • Updated the default ThemeDefinition.SwitchScale value to work better with common font sizes.
  • Updated ScrollBar thumbs to be slightly thinner by default.
  • Updated Calendar to have a smaller overall size.
  • Fixed a memory leak in ThemeProperties related to watching StyledElement.Classes for changes.

Shared Library

  • Updated the overlay host, which is used by user prompts in Overlay display mode, to fluently animate in content.
  • Updated ChromedTitleBar to work around an issue in Windows 10 where an outer window border/shadow may not be rendered.