Refactor AnimationUtils

This commit is contained in:
chinboy
2025-03-07 17:03:09 +08:00
parent ee40244a66
commit a6e66d394b
2 changed files with 10 additions and 6 deletions
@@ -65,7 +65,7 @@ internal class TabControlTheme : BaseTabControlTheme
layout.Children.Add(border);
CreateTemplateParentBinding(itemsPresenter, ItemsPresenter.ItemsPanelProperty, ItemsControl.ItemsPanelProperty);
return layout;
}
}
protected override void BuildStyles()
{
+9 -5
View File
@@ -1,9 +1,9 @@
using AtomUI.Theme.Styling;
using System.Diagnostics;
using AtomUI.Theme.Styling;
using AtomUI.Theme.TokenSystem;
using Avalonia;
using Avalonia.Animation;
using Avalonia.Animation.Easings;
using Avalonia.Controls;
namespace AtomUI.Controls.Utils;
@@ -22,11 +22,15 @@ public sealed class AnimationUtils : AtomUI.Utils.AnimationUtils
Easing = easing
};
var application = Application.Current;
if (application is not null)
Debug.Assert(application != null);
var themeVariant = application.ActualThemeVariant;
if (application.TryGetResource(durationResourceKey, themeVariant, out var value))
{
transition.Bind(TransitionBase.DurationProperty, application.GetResourceObservable(durationResourceKey));
if (value is TimeSpan duration)
{
transition.Duration = duration;
}
}
return transition;
}
}