From 8a8e47548b16e64052f279bfe1de522179b7196e Mon Sep 17 00:00:00 2001 From: chinboy Date: Wed, 23 Jul 2025 17:21:19 +0800 Subject: [PATCH] Fix Simple Pagination bug --- src/AtomUI.Controls/ComboBox/ComboBoxItem.cs | 2 ++ .../Themes/ComboBoxSpinnerInnerBoxTheme.axaml | 4 +++ .../Pagination/PageSizeComboBoxItem.cs | 29 +------------------ .../Pagination/SimplePagination.cs | 4 +-- .../Pagination/Themes/PaginationTheme.axaml | 4 +++ .../Themes/SimplePaginationTheme.axaml | 9 ++++-- 6 files changed, 19 insertions(+), 33 deletions(-) diff --git a/src/AtomUI.Controls/ComboBox/ComboBoxItem.cs b/src/AtomUI.Controls/ComboBox/ComboBoxItem.cs index 3098fb299..b86db0d9d 100644 --- a/src/AtomUI.Controls/ComboBox/ComboBoxItem.cs +++ b/src/AtomUI.Controls/ComboBox/ComboBoxItem.cs @@ -33,6 +33,8 @@ public class ComboBoxItem : AvaloniaComboBoxItem } #endregion + protected override Type StyleKeyOverride { get; } = typeof(ComboBoxItem); + private void ConfigureTransitions() { if (IsMotionEnabled) diff --git a/src/AtomUI.Controls/ComboBox/Themes/ComboBoxSpinnerInnerBoxTheme.axaml b/src/AtomUI.Controls/ComboBox/Themes/ComboBoxSpinnerInnerBoxTheme.axaml index 8ca518a5f..0e535b570 100644 --- a/src/AtomUI.Controls/ComboBox/Themes/ComboBoxSpinnerInnerBoxTheme.axaml +++ b/src/AtomUI.Controls/ComboBox/Themes/ComboBoxSpinnerInnerBoxTheme.axaml @@ -86,6 +86,10 @@ + \ No newline at end of file diff --git a/src/AtomUI.Controls/Pagination/PageSizeComboBoxItem.cs b/src/AtomUI.Controls/Pagination/PageSizeComboBoxItem.cs index a2656f7ef..1d8da5e35 100644 --- a/src/AtomUI.Controls/Pagination/PageSizeComboBoxItem.cs +++ b/src/AtomUI.Controls/Pagination/PageSizeComboBoxItem.cs @@ -1,33 +1,6 @@ -using System.Reactive.Disposables; -using AtomUI.Theme; -using AtomUI.Theme.Data; -using Avalonia.LogicalTree; - namespace AtomUI.Controls; -internal class PageSizeComboBoxItem : ComboBoxItem, - IResourceBindingManager +internal class PageSizeComboBoxItem : ComboBoxItem { public int PageSize { get; set; } - - private CompositeDisposable? _resourceBindingsDisposable; - CompositeDisposable? IResourceBindingManager.ResourceBindingsDisposable - { - get => _resourceBindingsDisposable; - set => _resourceBindingsDisposable = value; - } - - protected override void OnAttachedToLogicalTree(LogicalTreeAttachmentEventArgs e) - { - base.OnAttachedToLogicalTree(e); - _resourceBindingsDisposable = new CompositeDisposable(); - this.AddResourceBindingDisposable( - TokenResourceBinder.CreateTokenBinding(this, ThemeProperty, typeof(ComboBoxItem))); - } - - protected override void OnDetachedFromLogicalTree(LogicalTreeAttachmentEventArgs e) - { - base.OnDetachedFromLogicalTree(e); - this.DisposeTokenBindings(); - } } \ No newline at end of file diff --git a/src/AtomUI.Controls/Pagination/SimplePagination.cs b/src/AtomUI.Controls/Pagination/SimplePagination.cs index 1b149e25e..a60ad54c6 100644 --- a/src/AtomUI.Controls/Pagination/SimplePagination.cs +++ b/src/AtomUI.Controls/Pagination/SimplePagination.cs @@ -10,8 +10,7 @@ using Avalonia.Interactivity; namespace AtomUI.Controls; -public class SimplePagination : AbstractPagination, - IControlSharedTokenResourcesHost +public class SimplePagination : AbstractPagination, IControlSharedTokenResourcesHost { #region 公共属性定义 @@ -102,6 +101,7 @@ public class SimplePagination : AbstractPagination, if (sender is PaginationNavItem navItemSender) { CurrentPage = navItemSender.PageNumber; + HandlePageConditionChanged(); } } diff --git a/src/AtomUI.Controls/Pagination/Themes/PaginationTheme.axaml b/src/AtomUI.Controls/Pagination/Themes/PaginationTheme.axaml index c276d3d9d..c85594cb4 100644 --- a/src/AtomUI.Controls/Pagination/Themes/PaginationTheme.axaml +++ b/src/AtomUI.Controls/Pagination/Themes/PaginationTheme.axaml @@ -49,5 +49,9 @@ + \ No newline at end of file diff --git a/src/AtomUI.Controls/Pagination/Themes/SimplePaginationTheme.axaml b/src/AtomUI.Controls/Pagination/Themes/SimplePaginationTheme.axaml index 5a41e107f..a98730b90 100644 --- a/src/AtomUI.Controls/Pagination/Themes/SimplePaginationTheme.axaml +++ b/src/AtomUI.Controls/Pagination/Themes/SimplePaginationTheme.axaml @@ -12,11 +12,13 @@ PaginationItemType="Previous" Content="{atom:IconProvider LeftOutlined}" SizeType="{TemplateBinding SizeType}" - IsEnabled="{TemplateBinding IsEnabled}" /> + IsEnabled="{TemplateBinding IsEnabled}" + IsMotionEnabled="{TemplateBinding IsMotionEnabled}"/> + IsEnabled="{TemplateBinding IsEnabled}" + IsMotionEnabled="{TemplateBinding IsMotionEnabled}"/> + IsEnabled="{TemplateBinding IsEnabled}" + IsMotionEnabled="{TemplateBinding IsMotionEnabled}"/>