From 6941cef2a757b2edf97d2e78d2c3debcf9ff4bb6 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Fri, 7 Nov 2025 21:35:52 +0800 Subject: [PATCH] Add Int64Displayer control for long type support (#811) --- .../Ursa.Demo/Pages/NumberDisplayerDemo.axaml | 2 ++ .../NumberDisplayerDemoViewModel.cs | 3 +++ .../NumberDisplayer/Implementations.cs | 23 +++++++++++++++++++ 3 files changed, 28 insertions(+) diff --git a/demo/Ursa.Demo/Pages/NumberDisplayerDemo.axaml b/demo/Ursa.Demo/Pages/NumberDisplayerDemo.axaml index c550a8c..e8842e6 100644 --- a/demo/Ursa.Demo/Pages/NumberDisplayerDemo.axaml +++ b/demo/Ursa.Demo/Pages/NumberDisplayerDemo.axaml @@ -14,6 +14,7 @@ + + } } +public class Int64Displayer : NumberDisplayer +{ + protected override Type StyleKeyOverride { get; } = typeof(NumberDisplayerBase); + + protected override InterpolatingAnimator GetAnimator() + { + return new LongAnimator(); + } + + private class LongAnimator : InterpolatingAnimator + { + public override long Interpolate(double progress, long oldValue, long newValue) + { + return oldValue + (long)((newValue - oldValue) * progress); + } + } + + protected override string GetString(long value) + { + return value.ToString(StringFormat); + } +} + public class DoubleDisplayer : NumberDisplayer { protected override Type StyleKeyOverride { get; } = typeof(NumberDisplayerBase);