From b4734cda5fdd7784908bd6c370d0b9dba691c8d4 Mon Sep 17 00:00:00 2001
From: NaBian <836904362@qq.com>
Date: Sun, 15 Dec 2024 00:53:50 +0800
Subject: [PATCH] chore: add avalonia Slider demo.
---
.../UserControl/Styles/SliderDemo.axaml | 90 ++++
.../UserControl/Styles/SliderDemo.axaml.cs | 9 +
.../Controls/Attach/ContentControlAttach.cs | 49 ++
.../Controls/Attach/TipElement.cs | 30 ++
.../Controls/Panel/AxleCanvas.cs | 73 +++
.../Data/Enum/PlacementType.cs | 17 +
.../Themes/Basic/Effects.axaml | 2 +-
.../Themes/Styles/Slider.axaml | 449 ++++++++++++++++++
.../Themes/Styles/Style.axaml | 1 +
.../Themes/Styles/ToggleButton.axaml | 5 +-
10 files changed, 723 insertions(+), 2 deletions(-)
create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/SliderDemo.axaml
create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/SliderDemo.axaml.cs
create mode 100644 src/Avalonia/HandyControl_Avalonia/Controls/Attach/ContentControlAttach.cs
create mode 100644 src/Avalonia/HandyControl_Avalonia/Controls/Attach/TipElement.cs
create mode 100644 src/Avalonia/HandyControl_Avalonia/Controls/Panel/AxleCanvas.cs
create mode 100644 src/Avalonia/HandyControl_Avalonia/Data/Enum/PlacementType.cs
create mode 100644 src/Avalonia/HandyControl_Avalonia/Themes/Styles/Slider.axaml
diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/SliderDemo.axaml b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/SliderDemo.axaml
new file mode 100644
index 00000000..1ce718e0
--- /dev/null
+++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/SliderDemo.axaml
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/SliderDemo.axaml.cs b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/SliderDemo.axaml.cs
new file mode 100644
index 00000000..8483efa2
--- /dev/null
+++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/SliderDemo.axaml.cs
@@ -0,0 +1,9 @@
+namespace HandyControlDemo.UserControl;
+
+public partial class SliderDemo : Avalonia.Controls.UserControl
+{
+ public SliderDemo()
+ {
+ InitializeComponent();
+ }
+}
diff --git a/src/Avalonia/HandyControl_Avalonia/Controls/Attach/ContentControlAttach.cs b/src/Avalonia/HandyControl_Avalonia/Controls/Attach/ContentControlAttach.cs
new file mode 100644
index 00000000..6bdbbe91
--- /dev/null
+++ b/src/Avalonia/HandyControl_Avalonia/Controls/Attach/ContentControlAttach.cs
@@ -0,0 +1,49 @@
+using Avalonia;
+using Avalonia.Controls;
+using Avalonia.Data;
+
+namespace HandyControl.Controls;
+
+public class ContentControlAttach
+{
+ public static readonly AttachedProperty ContentStringFormatProperty =
+ AvaloniaProperty.RegisterAttached("ContentStringFormat");
+
+ public static void SetContentStringFormat(AvaloniaObject element, string value) =>
+ element.SetValue(ContentStringFormatProperty, value);
+
+ public static string GetContentStringFormat(AvaloniaObject element) =>
+ element.GetValue(ContentStringFormatProperty);
+
+ public static readonly AttachedProperty