From 1f48e6106dbe00b0ca3ee875c40b89cfa1519a10 Mon Sep 17 00:00:00 2001
From: NaBian <836904362@qq.com>
Date: Wed, 29 Jan 2025 22:33:31 +0800
Subject: [PATCH] chore: add avalonia ProgressBar demo.
---
.../Styles/NativeProgressBarDemo.axaml | 100 +++
.../Styles/NativeProgressBarDemo.axaml.cs | 10 +
.../Themes/Basic/Converters.axaml | 15 +-
.../Themes/Styles/ProgressBar.axaml | 657 ++++++++++++++++++
.../HandyControl_Avalonia/Themes/Theme.axaml | 1 +
.../Tools/Converter/DoubleExpandConverter.cs | 26 +
.../HandyControl_Net_40/Themes/Theme.xaml | 10 +-
.../Themes/Styles/ProgressBar.xaml | 10 +-
.../HandyControl_Shared/Themes/Theme.xaml | 10 +-
9 files changed, 818 insertions(+), 21 deletions(-)
create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/NativeProgressBarDemo.axaml
create mode 100644 src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/NativeProgressBarDemo.axaml.cs
create mode 100644 src/Avalonia/HandyControl_Avalonia/Themes/Styles/ProgressBar.axaml
create mode 100644 src/Avalonia/HandyControl_Avalonia/Tools/Converter/DoubleExpandConverter.cs
diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/NativeProgressBarDemo.axaml b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/NativeProgressBarDemo.axaml
new file mode 100644
index 00000000..446e9fcd
--- /dev/null
+++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/NativeProgressBarDemo.axaml
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/NativeProgressBarDemo.axaml.cs b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/NativeProgressBarDemo.axaml.cs
new file mode 100644
index 00000000..a507ed07
--- /dev/null
+++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/NativeProgressBarDemo.axaml.cs
@@ -0,0 +1,10 @@
+namespace HandyControlDemo.UserControl;
+
+public partial class NativeProgressBarDemo : Avalonia.Controls.UserControl
+{
+ public NativeProgressBarDemo()
+ {
+ InitializeComponent();
+ }
+}
+
diff --git a/src/Avalonia/HandyControl_Avalonia/Themes/Basic/Converters.axaml b/src/Avalonia/HandyControl_Avalonia/Themes/Basic/Converters.axaml
index f2a7c333..b7982b9f 100644
--- a/src/Avalonia/HandyControl_Avalonia/Themes/Basic/Converters.axaml
+++ b/src/Avalonia/HandyControl_Avalonia/Themes/Basic/Converters.axaml
@@ -1,11 +1,14 @@
+ xmlns:hc="clr-namespace:HandyControl.Tools.Converter"
+ xmlns:avalonia="using:Avalonia.Controls.Converters">
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/ProgressBar.axaml b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/ProgressBar.axaml
new file mode 100644
index 00000000..e3348906
--- /dev/null
+++ b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/ProgressBar.axaml
@@ -0,0 +1,657 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Avalonia/HandyControl_Avalonia/Themes/Theme.axaml b/src/Avalonia/HandyControl_Avalonia/Themes/Theme.axaml
index 02ebeef9..9af82cab 100644
--- a/src/Avalonia/HandyControl_Avalonia/Themes/Theme.axaml
+++ b/src/Avalonia/HandyControl_Avalonia/Themes/Theme.axaml
@@ -34,6 +34,7 @@
+
diff --git a/src/Avalonia/HandyControl_Avalonia/Tools/Converter/DoubleExpandConverter.cs b/src/Avalonia/HandyControl_Avalonia/Tools/Converter/DoubleExpandConverter.cs
new file mode 100644
index 00000000..89eb2dcd
--- /dev/null
+++ b/src/Avalonia/HandyControl_Avalonia/Tools/Converter/DoubleExpandConverter.cs
@@ -0,0 +1,26 @@
+using System;
+using System.Globalization;
+using Avalonia.Data.Converters;
+
+namespace HandyControl.Tools.Converter;
+
+internal class DoubleExpandConverter : IValueConverter
+{
+ public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture)
+ {
+ if (value is not double originalValue)
+ {
+ return value;
+ }
+
+ if (!double.TryParse(parameter as string, out double expandValue))
+ {
+ return value;
+ }
+
+ return originalValue + expandValue;
+ }
+
+ public object ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) =>
+ throw new NotImplementedException();
+}
diff --git a/src/Net_40/HandyControl_Net_40/Themes/Theme.xaml b/src/Net_40/HandyControl_Net_40/Themes/Theme.xaml
index 39791ba9..a9b6d266 100644
--- a/src/Net_40/HandyControl_Net_40/Themes/Theme.xaml
+++ b/src/Net_40/HandyControl_Net_40/Themes/Theme.xaml
@@ -4384,7 +4384,7 @@
-
+
@@ -4413,7 +4413,7 @@
-
+
@@ -4442,7 +4442,7 @@
-
+
@@ -4471,7 +4471,7 @@
-
+
@@ -4500,7 +4500,7 @@
-
+
diff --git a/src/Shared/HandyControl_Shared/Themes/Styles/ProgressBar.xaml b/src/Shared/HandyControl_Shared/Themes/Styles/ProgressBar.xaml
index 2c247cfe..ca01d47d 100644
--- a/src/Shared/HandyControl_Shared/Themes/Styles/ProgressBar.xaml
+++ b/src/Shared/HandyControl_Shared/Themes/Styles/ProgressBar.xaml
@@ -30,7 +30,7 @@
-
+
@@ -60,7 +60,7 @@
-
+
@@ -90,7 +90,7 @@
-
+
@@ -120,7 +120,7 @@
-
+
@@ -150,7 +150,7 @@
-
+
diff --git a/src/Shared/HandyControl_Shared/Themes/Theme.xaml b/src/Shared/HandyControl_Shared/Themes/Theme.xaml
index 0b0869b7..7c88ebf5 100644
--- a/src/Shared/HandyControl_Shared/Themes/Theme.xaml
+++ b/src/Shared/HandyControl_Shared/Themes/Theme.xaml
@@ -4384,7 +4384,7 @@
-
+
@@ -4413,7 +4413,7 @@
-
+
@@ -4442,7 +4442,7 @@
-
+
@@ -4471,7 +4471,7 @@
-
+
@@ -4500,7 +4500,7 @@
-
+