diff --git a/Build/Build.csproj b/Build/Build.csproj index 2053622..326c176 100644 --- a/Build/Build.csproj +++ b/Build/Build.csproj @@ -16,7 +16,7 @@ ActiproSoftware.Tools.Builds Actipro Software LLC Actipro Software LLC - Copyright (c) 2021-2024 Actipro Software LLC. All rights reserved. + Copyright (c) 2021-2025 Actipro Software LLC. All rights reserved. false diff --git a/Documentation/docfx.json b/Documentation/docfx.json index f762e7d..008d4a3 100644 --- a/Documentation/docfx.json +++ b/Documentation/docfx.json @@ -55,7 +55,7 @@ "_appTitle": "Actipro Avalonia Docs", "_docsCompanyHref": "https://www.actiprosoftware.com/products/controls/avalonia", "_docsCompanyName": "Actipro Software LLC", - "_docsCopyrightYears": "2021-2024", + "_docsCopyrightYears": "2021-2025", "_docsProductHref": "https://www.actiprosoftware.com/products/controls/avalonia", "_docsProductName": "Avalonia", "_docsProductVersion": "25.1", diff --git a/Documentation/topics/bars/mvvm-support.md b/Documentation/topics/bars/mvvm-support.md index 750243e..07789d8 100644 --- a/Documentation/topics/bars/mvvm-support.md +++ b/Documentation/topics/bars/mvvm-support.md @@ -270,7 +270,7 @@ The following table shows various bar control view model types defined in the MV | [BarSplitToggleButtonViewModel](xref:@ActiproUIRoot.Controls.Bars.Mvvm.BarSplitToggleButtonViewModel) | Toggle [split button](controls/split-button.md) control. | | [BarTextBoxViewModel](xref:@ActiproUIRoot.Controls.Bars.Mvvm.BarTextBoxViewModel) | [Textbox](controls/textbox.md) control. | | [BarToggleButtonViewModel](xref:@ActiproUIRoot.Controls.Bars.Mvvm.BarToggleButtonViewModel) | Toggle [button](controls/button.md) control. | -| [RibbonApplicationButton](xref:@ActiproUIRoot.Controls.Bars.RibbonApplicationButton) | [Application button](ribbon-features/application-button.md) control. | +| [RibbonApplicationButtonViewModel](xref:@ActiproUIRoot.Controls.Bars.Mvvm.RibbonApplicationButtonViewModel) | [Application button](ribbon-features/application-button.md) control. | | [RibbonBackstageHeaderButtonViewModel](xref:@ActiproUIRoot.Controls.Bars.Mvvm.RibbonBackstageHeaderButtonViewModel) | [Backstage](ribbon-features/backstage.md) header button control. | | [RibbonBackstageHeaderSeparatorViewModel](xref:@ActiproUIRoot.Controls.Bars.Mvvm.RibbonBackstageHeaderSeparatorViewModel) | [Backstage](ribbon-features/backstage.md) header separator control. | | [RibbonBackstageTabViewModel](xref:@ActiproUIRoot.Controls.Bars.Mvvm.RibbonBackstageTabViewModel) | [Backstage](ribbon-features/backstage.md) tab control. | @@ -303,7 +303,7 @@ The following table shows various bar control view model types defined in the MV | [BarTextBoxViewModel](xref:@ActiproUIRoot.Controls.Bars.Mvvm.BarTextBoxViewModel) | [Textbox](controls/textbox.md) control. | | [BarToggleButtonViewModel](xref:@ActiproUIRoot.Controls.Bars.Mvvm.BarToggleButtonViewModel) | Toggle [button](controls/button.md) control. | | [MiniToolBarViewModel](xref:@ActiproUIRoot.Controls.Bars.Mvvm.MiniToolBarViewModel) | [Mini-toolbar](toolbar-features/mini-toolbars.md) control. | -| [RibbonApplicationButton](xref:@ActiproUIRoot.Controls.Bars.RibbonApplicationButton) | [Application button](ribbon-features/application-button.md) control. | +| [RibbonApplicationButtonViewModel](xref:@ActiproUIRoot.Controls.Bars.Mvvm.RibbonApplicationButtonViewModel) | [Application button](ribbon-features/application-button.md) control. | | [RibbonBackstageHeaderButtonViewModel](xref:@ActiproUIRoot.Controls.Bars.Mvvm.RibbonBackstageHeaderButtonViewModel) | [Backstage](ribbon-features/backstage.md) header button control. | | [RibbonBackstageHeaderSeparatorViewModel](xref:@ActiproUIRoot.Controls.Bars.Mvvm.RibbonBackstageHeaderSeparatorViewModel) | [Backstage](ribbon-features/backstage.md) header separator control. | | [RibbonBackstageTabViewModel](xref:@ActiproUIRoot.Controls.Bars.Mvvm.RibbonBackstageTabViewModel) | [Backstage](ribbon-features/backstage.md) tab control. | diff --git a/Documentation/topics/fundamentals/controls/avatar-group.md b/Documentation/topics/fundamentals/controls/avatar-group.md index 668e8b1..a324be3 100644 --- a/Documentation/topics/fundamentals/controls/avatar-group.md +++ b/Documentation/topics/fundamentals/controls/avatar-group.md @@ -17,6 +17,8 @@ Use the [ItemLength](xref:@ActiproUIRoot.Controls.AvatarGroup.ItemLength) proper By default, each avatar will slightly overlap with the avatar that appears before it. Use the [OverlapPercentage](xref:@ActiproUIRoot.Controls.AvatarGroup.OverlapPercentage) property to define the extent of the overlap. The default value is `0.2` for a 20% overlap. +The [Orientation](xref:@ActiproUIRoot.Controls.AvatarGroup.Orientation) property determines if the non-overflowed avatars are arranged horizontally or vertically. The default is `Horizontal`. + ## Overflow Individual [Avatar](avatar.md) controls can optionally be overflowed when there is not enough room to display them all inline. When overflow is necessary, a button is added at the end of the group that, when clicked, will display the additional items in a popup. @@ -27,6 +29,8 @@ By default, the group will display as many avatars as possible in the space avai The overflow button indicates the number of overflowed items. Use the [OverflowStringFormat](xref:@ActiproUIRoot.Controls.AvatarGroup.OverflowStringFormat) property to customize how the count is formatted. The default is `"+{0}"`, where `{0}` is the placeholder for the current value of [OverflowedItemCount](xref:@ActiproUIRoot.Controls.AvatarGroup.OverflowedItemCount) (e.g., `"+9"`). +The [OverflowOrientation](xref:@ActiproUIRoot.Controls.AvatarGroup.OverflowOrientation) property determines if the overflowed avatars are arranged horizontally or vertically, and is configured separately from the [Orientation](xref:@ActiproUIRoot.Controls.AvatarGroup.Orientation) property. The default is `Horizontal`. + ## Configuring Avatar Items The [AvatarGroup](xref:@ActiproUIRoot.Controls.AvatarGroup) is an `ItemsControl` for [Avatar](avatar.md) controls. diff --git a/Documentation/topics/supported-technologies.md b/Documentation/topics/supported-technologies.md index 0290b46..e2203d6 100644 --- a/Documentation/topics/supported-technologies.md +++ b/Documentation/topics/supported-technologies.md @@ -45,7 +45,6 @@ The assemblies have dependencies on the Avalonia framework as follows: - Avalonia v11.1.0 or later - Native themes compatible up to Avalonia v11.1.0 -- *Minor updates to Avalonia are expected to be supported and will be verified as they are released* diff --git a/License.md b/License.md index b30d895..e6d6920 100644 --- a/License.md +++ b/License.md @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2024 Actipro Software LLC. +Copyright (c) 2025 Actipro Software LLC. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Samples/SampleBrowser/Directory.Build.props b/Samples/SampleBrowser/Directory.Build.props index fa8bfe1..9d2826a 100644 --- a/Samples/SampleBrowser/Directory.Build.props +++ b/Samples/SampleBrowser/Directory.Build.props @@ -7,8 +7,8 @@ enable true - 25.1.0.0 - 25.1.0.0 - 20241106 + 25.1.1.0 + 25.1.1.0 - 20250116 Actipro Avalonia Controls Sample Browser $(Product) @@ -17,7 +17,7 @@ ActiproSoftware Actipro Software LLC - Copyright (c) 2022-2024 Actipro Software LLC. All rights reserved. + Copyright (c) 2022-2025 Actipro Software LLC. All rights reserved. AVALONIA true diff --git a/Samples/SampleBrowser/References/ActiproSoftware.References.props b/Samples/SampleBrowser/References/ActiproSoftware.References.props index c4a3aa9..7d3885c 100644 --- a/Samples/SampleBrowser/References/ActiproSoftware.References.props +++ b/Samples/SampleBrowser/References/ActiproSoftware.References.props @@ -2,7 +2,7 @@ - 25.1.0 + 25.1.1 diff --git a/Samples/SampleBrowser/References/Avalonia.References.props b/Samples/SampleBrowser/References/Avalonia.References.props index b70784f..0e54632 100644 --- a/Samples/SampleBrowser/References/Avalonia.References.props +++ b/Samples/SampleBrowser/References/Avalonia.References.props @@ -2,7 +2,7 @@ - 11.2.0 + 11.2.3 diff --git a/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/Common/ViewModels/GalleryItems/CustomBarGalleryItemResources.axaml b/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/Common/ViewModels/GalleryItems/CustomBarGalleryItemResources.axaml index 06f215b..4ed61c1 100644 --- a/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/Common/ViewModels/GalleryItems/CustomBarGalleryItemResources.axaml +++ b/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/Common/ViewModels/GalleryItems/CustomBarGalleryItemResources.axaml @@ -20,7 +20,7 @@ - + diff --git a/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/ApplicationButton/MainControl.axaml b/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/ApplicationButton/MainControl.axaml index 3ae0ade..e7fc155 100644 --- a/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/ApplicationButton/MainControl.axaml +++ b/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/ApplicationButton/MainControl.axaml @@ -14,6 +14,10 @@ + + + + + + + + diff --git a/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/ColorPickers/MainControl.axaml b/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/ColorPickers/MainControl.axaml index 79a7030..570ad75 100644 --- a/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/ColorPickers/MainControl.axaml +++ b/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/ColorPickers/MainControl.axaml @@ -36,6 +36,10 @@ + + + + + + + + + diff --git a/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/ContextualTabs/MainControl.axaml b/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/ContextualTabs/MainControl.axaml index fd10f13..e76f064 100644 --- a/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/ContextualTabs/MainControl.axaml +++ b/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/ContextualTabs/MainControl.axaml @@ -15,6 +15,10 @@ + + + + + + + + + + + + + + + + + + diff --git a/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/GalleryInRibbon/MainControl.axaml b/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/GalleryInRibbon/MainControl.axaml index 19792cb..4da4c40 100644 --- a/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/GalleryInRibbon/MainControl.axaml +++ b/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/GalleryInRibbon/MainControl.axaml @@ -169,6 +169,10 @@ + + + + + + + + + @@ -110,7 +115,7 @@ var ribbon = new RibbonViewModel() {$(AreTabsVisibleSetter)$(GroupLabelModeSette IsEnabled="{Binding !#minimalRibbon.AreTabsVisible}" Value=" AreTabsVisible = false," /> diff --git a/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/PopupAndContextMenus/MainControl.axaml b/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/PopupAndContextMenus/MainControl.axaml index 869c688..862cd85 100644 --- a/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/PopupAndContextMenus/MainControl.axaml +++ b/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/PopupAndContextMenus/MainControl.axaml @@ -38,6 +38,10 @@ + + + + diff --git a/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/QuickAccessToolBar/MainControl.axaml b/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/QuickAccessToolBar/MainControl.axaml index b098292..5ff4716 100644 --- a/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/QuickAccessToolBar/MainControl.axaml +++ b/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/QuickAccessToolBar/MainControl.axaml @@ -22,6 +22,10 @@ + + + + diff --git a/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/RecentDocuments/MainControl.axaml b/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/RecentDocuments/MainControl.axaml index 4eac70f..40dc19d 100644 --- a/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/RecentDocuments/MainControl.axaml +++ b/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/RecentDocuments/MainControl.axaml @@ -5,7 +5,6 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:actipro="http://schemas.actiprosoftware.com/avaloniaui" xmlns:sampleBrowser="using:ActiproSoftware.SampleBrowser" - xmlns:documents="using:ActiproSoftware.UI.Avalonia.DocumentManagement" xmlns:local="using:ActiproSoftware.ProductSamples.BarsSamples.QuickStarts.RecentDocuments" > @@ -16,6 +15,10 @@ + + + + + + + + @@ -367,10 +371,10 @@ public partial class MainControl : UserControl { Value="IsInputGestureTextVisible="False" " /> + Value="{Binding #basicUsageFooter.Text, StringFormat=' ScreenTipFooter="{0}"'}" /> + Value="{Binding #basicUsageHeader.Text, StringFormat='ScreenTipHeader="{0}" '}" /> @@ -437,7 +441,7 @@ public partial class SampleRootControl : UserControl { Value=" IsInputGestureTextDisplayed = false," /> + Value="{Binding #basicUsageHeader.Text, StringFormat=' Title = "{0}"'}" /> diff --git a/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/Serialization/MainControl.axaml b/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/Serialization/MainControl.axaml index 7ac637c..d2ae8b9 100644 --- a/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/Serialization/MainControl.axaml +++ b/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/Serialization/MainControl.axaml @@ -14,6 +14,10 @@ + + + + + + + + diff --git a/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/StandaloneToolBarIntro/MainControl.axaml b/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/StandaloneToolBarIntro/MainControl.axaml index ad31ef6..8b22dba 100644 --- a/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/StandaloneToolBarIntro/MainControl.axaml +++ b/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/BarsSamples/QuickStarts/StandaloneToolBarIntro/MainControl.axaml @@ -14,6 +14,10 @@ + + + + + + + + + + + + diff --git a/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/FundamentalsSamples/Controls/AvatarIntro/MainControl.axaml b/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/FundamentalsSamples/Controls/AvatarIntro/MainControl.axaml index 8d16907..a725de7 100644 --- a/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/FundamentalsSamples/Controls/AvatarIntro/MainControl.axaml +++ b/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/FundamentalsSamples/Controls/AvatarIntro/MainControl.axaml @@ -65,6 +65,14 @@ + + + + + + + + @@ -75,6 +83,8 @@ ItemLength="$(ItemLength)" MaxInlineCount="$(MaxInlineCount)" OverlapPercentage="$(OverlapPercentage)" + Orientation="$(Orientation)" + OverflowOrientation="$(OverflowOrientation)" > @@ -99,6 +109,8 @@ + + diff --git a/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/FundamentalsSamples/Controls/BadgeIntro/MainControl.axaml b/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/FundamentalsSamples/Controls/BadgeIntro/MainControl.axaml index 5421fdb..3715106 100644 --- a/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/FundamentalsSamples/Controls/BadgeIntro/MainControl.axaml +++ b/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/FundamentalsSamples/Controls/BadgeIntro/MainControl.axaml @@ -3,7 +3,6 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:actipro="http://schemas.actiprosoftware.com/avaloniaui" - xmlns:local="using:ActiproSoftware.ProductSamples.FundamentalsSamples.Controls.BadgeIntro" xmlns:sampleBrowser="using:ActiproSoftware.SampleBrowser" > diff --git a/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/FundamentalsSamples/Controls/SettingsIntro/MainControl.axaml b/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/FundamentalsSamples/Controls/SettingsIntro/MainControl.axaml index e736d7b..51edb9a 100644 --- a/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/FundamentalsSamples/Controls/SettingsIntro/MainControl.axaml +++ b/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/FundamentalsSamples/Controls/SettingsIntro/MainControl.axaml @@ -52,9 +52,9 @@ Header="Use SettingsCard, SettingsExpander, and SettingsGroup to organize and present configurable settings"> - - - + + + - + diff --git a/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/SharedSamples/Shapes/RingSliceIntro/MainControl.axaml b/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/SharedSamples/Shapes/RingSliceIntro/MainControl.axaml index b619ae6..adfc562 100644 --- a/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/SharedSamples/Shapes/RingSliceIntro/MainControl.axaml +++ b/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/SharedSamples/Shapes/RingSliceIntro/MainControl.axaml @@ -3,7 +3,6 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:actipro="http://schemas.actiprosoftware.com/avaloniaui" xmlns:converters="using:Avalonia.Markup.Xaml.Converters" - xmlns:sample="using:ActiproSoftware.ProductSamples.SharedSamples.Shapes.RingSliceIntro" xmlns:sampleBrowser="using:ActiproSoftware.SampleBrowser" > diff --git a/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/ThemesSamples/Styling/UserInterfaceDensitySamples.axaml b/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/ThemesSamples/Styling/UserInterfaceDensitySamples.axaml index 32395ed..5ec89ca 100644 --- a/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/ThemesSamples/Styling/UserInterfaceDensitySamples.axaml +++ b/Samples/SampleBrowser/SampleBrowser.Common/ProductSamples/ThemesSamples/Styling/UserInterfaceDensitySamples.axaml @@ -12,7 +12,7 @@ Header="User interface density describes how tightly controls are packed together. A simple setting on a theme definition sets the application-wide user interface density, which can adjust appearance features such as Margin, Padding, CornerRadius, Width, Height, and Spacing."> - + diff --git a/Samples/SampleBrowser/SampleBrowser.Common/SampleBrowser/Controls/Themes/NullableStringSettingControl.axaml b/Samples/SampleBrowser/SampleBrowser.Common/SampleBrowser/Controls/Themes/NullableStringSettingControl.axaml index 93d3716..b93c07b 100644 --- a/Samples/SampleBrowser/SampleBrowser.Common/SampleBrowser/Controls/Themes/NullableStringSettingControl.axaml +++ b/Samples/SampleBrowser/SampleBrowser.Common/SampleBrowser/Controls/Themes/NullableStringSettingControl.axaml @@ -6,7 +6,7 @@ > - + diff --git a/Samples/SampleBrowser/SampleBrowser.Common/SampleBrowser/Documents/ReleaseHistories/v25.1.md b/Samples/SampleBrowser/SampleBrowser.Common/SampleBrowser/Documents/ReleaseHistories/v25.1.md index 5caacf1..dcf74a3 100644 --- a/Samples/SampleBrowser/SampleBrowser.Common/SampleBrowser/Documents/ReleaseHistories/v25.1.md +++ b/Samples/SampleBrowser/SampleBrowser.Common/SampleBrowser/Documents/ReleaseHistories/v25.1.md @@ -1,4 +1,23 @@ -# 11/6/2024 - v25.1.0 +# 1/16/2025 - v25.1.1 + +## 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. + +--- + +# 11/6/2024 - v25.1.0 ## Bars - Added a public beta of our new Bars product, which implements advanced fluent ribbons, toolbars, menus, and related controls. diff --git a/Samples/SampleBrowser/SampleBrowser.Common/SampleBrowser/Utilities/ThemeResourceBrowser/ThemeResourceBrowserView.axaml b/Samples/SampleBrowser/SampleBrowser.Common/SampleBrowser/Utilities/ThemeResourceBrowser/ThemeResourceBrowserView.axaml index 66303af..45ab3ac 100644 --- a/Samples/SampleBrowser/SampleBrowser.Common/SampleBrowser/Utilities/ThemeResourceBrowser/ThemeResourceBrowserView.axaml +++ b/Samples/SampleBrowser/SampleBrowser.Common/SampleBrowser/Utilities/ThemeResourceBrowser/ThemeResourceBrowserView.axaml @@ -21,7 +21,7 @@ - + diff --git a/Samples/SampleBrowser/SampleBrowser.Common/SampleBrowser/ViewModels/ApplicationViewModel.cs b/Samples/SampleBrowser/SampleBrowser.Common/SampleBrowser/ViewModels/ApplicationViewModel.cs index 8f6713b..b4dfc7d 100644 --- a/Samples/SampleBrowser/SampleBrowser.Common/SampleBrowser/ViewModels/ApplicationViewModel.cs +++ b/Samples/SampleBrowser/SampleBrowser.Common/SampleBrowser/ViewModels/ApplicationViewModel.cs @@ -25,6 +25,7 @@ public partial class ApplicationViewModel : ObservableObjectBase { private bool _isDrawerOpen = true; private readonly NavigationService _navigationService = new(); private ProductData? _productData; + private double _scaleFactor = 1.0d; private bool _showPrivateItems = false; private string? _statusMessage; private Visual? _viewElement; @@ -43,6 +44,7 @@ public partial class ApplicationViewModel : ObservableObjectBase { private DelegateCommand? _notImplementedCommand; private DelegateCommand? _openGitHubSampleFolderCommand; private DelegateCommand? _openUrlCommand; + private DelegateCommand? _setScaleFactorCommand; private DelegateCommand? _setUserInterfaceDensityCommand; private DelegateCommand? _toggleDrawerOpenCommand; private DelegateCommand? _toggleFlowDirectionCommand; @@ -598,6 +600,25 @@ private set { } } + /// + /// Indicates the scale factor of the primary application window. + /// + /// + /// The default value is 1.0. + /// + public double ScaleFactor { + get => _scaleFactor; + set => SetProperty(ref _scaleFactor, value); + } + + /// + /// The to set the current . + /// + public ICommand SetScaleFactorCommand + => _setScaleFactorCommand ??= new DelegateCommand(param => { + ScaleFactor = Convert.ToDouble(param); + }); + /// /// The to set the user interface density. /// diff --git a/Samples/SampleBrowser/SampleBrowser.Common/SampleBrowser/Views/RootView.axaml b/Samples/SampleBrowser/SampleBrowser.Common/SampleBrowser/Views/RootView.axaml index d9bbfdf..3bb4eb5 100644 --- a/Samples/SampleBrowser/SampleBrowser.Common/SampleBrowser/Views/RootView.axaml +++ b/Samples/SampleBrowser/SampleBrowser.Common/SampleBrowser/Views/RootView.axaml @@ -8,153 +8,161 @@ xmlns:sampleBrowser="using:ActiproSoftware.SampleBrowser" > - - - + + + + + + + + + - - - - 0,0,20,0 - - - 0,0,0,0 - - - + + + + 0,0,20,0 + + + 0,0,0,0 + + + - - - - - - - + + + + + + + + + + + + + - + + + + + + + + + + - - - - - - - - - - + + + + + + + - - - - - - - + + + + + + + + + - - - - - - - - - + - + diff --git a/Samples/SampleBrowser/SampleBrowser.Web/Properties/launchSettings.json b/Samples/SampleBrowser/SampleBrowser.Web/Properties/launchSettings.json index 3a15429..03a064f 100644 --- a/Samples/SampleBrowser/SampleBrowser.Web/Properties/launchSettings.json +++ b/Samples/SampleBrowser/SampleBrowser.Web/Properties/launchSettings.json @@ -2,7 +2,7 @@ "profiles": { "SampleBrowser.Web": { "commandName": "Project", - "launchBrowser": true, + "launchBrowser": false, "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" }, diff --git a/Source/Bars.Mvvm/Properties/Bars.Mvvm/SR.cs b/Source/Bars.Mvvm/Properties/Bars.Mvvm/SR.cs index 794182b..8f77b7c 100644 --- a/Source/Bars.Mvvm/Properties/Bars.Mvvm/SR.cs +++ b/Source/Bars.Mvvm/Properties/Bars.Mvvm/SR.cs @@ -49,7 +49,7 @@ public static bool ContainsCustomString(SRName name) => Instance.GetCustomStringCore(name.ToString()); /// - public static string? GetString(SRName name, params object[] args) + public static string? GetString(SRName name, params object?[] args) => Instance.GetStringCore(name.ToString(), args); /// diff --git a/Source/Directory.Build.props b/Source/Directory.Build.props index 51cfa9e..213a552 100644 --- a/Source/Directory.Build.props +++ b/Source/Directory.Build.props @@ -12,11 +12,11 @@ PUBLIC\SOURCE BUILD PROPERTIES enable true - 25.1.0.0 + 25.1.1.0 ActiproSoftware Actipro Software LLC - Copyright (c) 2021-2024 Actipro Software LLC. All rights reserved. + Copyright (c) 2021-2025 Actipro Software LLC. All rights reserved. CODE_ANALYSIS;AVALONIA @@ -24,9 +24,7 @@ PUBLIC\SOURCE BUILD PROPERTIES https://www.actiprosoftware.com/products/controls/avalonia true - true - true - + true \ No newline at end of file