From 79e7eae43d2f73ac6ededec4d802e554e55905b8 Mon Sep 17 00:00:00 2001 From: chinboy Date: Thu, 6 Nov 2025 08:56:27 +0800 Subject: [PATCH] Refactor OptionButtonGroup --- .../AtomUIOSSControlThemesProvider.axaml | 2 +- .../OptionButton.cs | 0 .../OptionButtonGroup.cs | 17 +++++++++-------- .../OptionButtonToken.cs | 0 .../Themes/OptionButtonBoxConstants.cs | 0 .../Themes/OptionButtonBoxThemes.axaml | 0 .../Themes/OptionButtonGroupTheme.axaml | 0 .../Themes/OptionButtonTheme.axaml | 0 8 files changed, 10 insertions(+), 9 deletions(-) rename src/AtomUI.Controls/{OptionButtonBox => OptionButtonGroup}/OptionButton.cs (100%) rename src/AtomUI.Controls/{OptionButtonBox => OptionButtonGroup}/OptionButtonGroup.cs (99%) rename src/AtomUI.Controls/{OptionButtonBox => OptionButtonGroup}/OptionButtonToken.cs (100%) rename src/AtomUI.Controls/{OptionButtonBox => OptionButtonGroup}/Themes/OptionButtonBoxConstants.cs (100%) rename src/AtomUI.Controls/{OptionButtonBox => OptionButtonGroup}/Themes/OptionButtonBoxThemes.axaml (100%) rename src/AtomUI.Controls/{OptionButtonBox => OptionButtonGroup}/Themes/OptionButtonGroupTheme.axaml (100%) rename src/AtomUI.Controls/{OptionButtonBox => OptionButtonGroup}/Themes/OptionButtonTheme.axaml (100%) diff --git a/src/AtomUI.Controls/AtomUIOSSControlThemesProvider.axaml b/src/AtomUI.Controls/AtomUIOSSControlThemesProvider.axaml index 285332a81..afea222b2 100644 --- a/src/AtomUI.Controls/AtomUIOSSControlThemesProvider.axaml +++ b/src/AtomUI.Controls/AtomUIOSSControlThemesProvider.axaml @@ -37,7 +37,7 @@ - + diff --git a/src/AtomUI.Controls/OptionButtonBox/OptionButton.cs b/src/AtomUI.Controls/OptionButtonGroup/OptionButton.cs similarity index 100% rename from src/AtomUI.Controls/OptionButtonBox/OptionButton.cs rename to src/AtomUI.Controls/OptionButtonGroup/OptionButton.cs diff --git a/src/AtomUI.Controls/OptionButtonBox/OptionButtonGroup.cs b/src/AtomUI.Controls/OptionButtonGroup/OptionButtonGroup.cs similarity index 99% rename from src/AtomUI.Controls/OptionButtonBox/OptionButtonGroup.cs rename to src/AtomUI.Controls/OptionButtonGroup/OptionButtonGroup.cs index a5ff373f0..8a301d441 100644 --- a/src/AtomUI.Controls/OptionButtonBox/OptionButtonGroup.cs +++ b/src/AtomUI.Controls/OptionButtonGroup/OptionButtonGroup.cs @@ -49,11 +49,6 @@ public class OptionButtonGroup : SelectingItemsControl, public static readonly StyledProperty IsWaveSpiritEnabledProperty = WaveSpiritAwareControlProperty.IsWaveSpiritEnabledProperty.AddOwner(); - public static readonly RoutedEvent OptionCheckedChangedEvent = - RoutedEvent.Register( - nameof(OptionCheckedChanged), - RoutingStrategies.Bubble); - public SizeType SizeType { get => GetValue(SizeTypeProperty); @@ -77,13 +72,20 @@ public class OptionButtonGroup : SelectingItemsControl, get => GetValue(IsWaveSpiritEnabledProperty); set => SetValue(IsWaveSpiritEnabledProperty, value); } + + #endregion + #region 公共事件定义 + public static readonly RoutedEvent OptionCheckedChangedEvent = + RoutedEvent.Register( + nameof(OptionCheckedChanged), + RoutingStrategies.Bubble); + public event EventHandler? OptionCheckedChanged { add => AddHandler(OptionCheckedChangedEvent, value); remove => RemoveHandler(OptionCheckedChangedEvent, value); } - #endregion #region 内部属性定义 @@ -127,8 +129,7 @@ public class OptionButtonGroup : SelectingItemsControl, static OptionButtonGroup() { - SelectionModeProperty.OverrideDefaultValue(SelectionMode.Single | - SelectionMode.AlwaysSelected); + SelectionModeProperty.OverrideDefaultValue(SelectionMode.Single | SelectionMode.AlwaysSelected); AutoScrollToSelectedItemProperty.OverrideDefaultValue(false); ItemsPanelProperty.OverrideDefaultValue(DefaultPanel); AffectsRender(SelectionModeProperty); diff --git a/src/AtomUI.Controls/OptionButtonBox/OptionButtonToken.cs b/src/AtomUI.Controls/OptionButtonGroup/OptionButtonToken.cs similarity index 100% rename from src/AtomUI.Controls/OptionButtonBox/OptionButtonToken.cs rename to src/AtomUI.Controls/OptionButtonGroup/OptionButtonToken.cs diff --git a/src/AtomUI.Controls/OptionButtonBox/Themes/OptionButtonBoxConstants.cs b/src/AtomUI.Controls/OptionButtonGroup/Themes/OptionButtonBoxConstants.cs similarity index 100% rename from src/AtomUI.Controls/OptionButtonBox/Themes/OptionButtonBoxConstants.cs rename to src/AtomUI.Controls/OptionButtonGroup/Themes/OptionButtonBoxConstants.cs diff --git a/src/AtomUI.Controls/OptionButtonBox/Themes/OptionButtonBoxThemes.axaml b/src/AtomUI.Controls/OptionButtonGroup/Themes/OptionButtonBoxThemes.axaml similarity index 100% rename from src/AtomUI.Controls/OptionButtonBox/Themes/OptionButtonBoxThemes.axaml rename to src/AtomUI.Controls/OptionButtonGroup/Themes/OptionButtonBoxThemes.axaml diff --git a/src/AtomUI.Controls/OptionButtonBox/Themes/OptionButtonGroupTheme.axaml b/src/AtomUI.Controls/OptionButtonGroup/Themes/OptionButtonGroupTheme.axaml similarity index 100% rename from src/AtomUI.Controls/OptionButtonBox/Themes/OptionButtonGroupTheme.axaml rename to src/AtomUI.Controls/OptionButtonGroup/Themes/OptionButtonGroupTheme.axaml diff --git a/src/AtomUI.Controls/OptionButtonBox/Themes/OptionButtonTheme.axaml b/src/AtomUI.Controls/OptionButtonGroup/Themes/OptionButtonTheme.axaml similarity index 100% rename from src/AtomUI.Controls/OptionButtonBox/Themes/OptionButtonTheme.axaml rename to src/AtomUI.Controls/OptionButtonGroup/Themes/OptionButtonTheme.axaml