diff --git a/demo/Semi.Avalonia.Demo/Pages/ProgressBarDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/ProgressBarDemo.axaml index 8148e2e..71d6b2d 100644 --- a/demo/Semi.Avalonia.Demo/Pages/ProgressBarDemo.axaml +++ b/demo/Semi.Avalonia.Demo/Pages/ProgressBarDemo.axaml @@ -8,12 +8,27 @@ d:DesignWidth="800" mc:Ignorable="d"> + + + Value="{Binding #slider.Value}" /> @@ -326,4 +327,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Semi.Avalonia/Converters/PositionToAngleConverter.cs b/src/Semi.Avalonia/Converters/PositionToAngleConverter.cs new file mode 100644 index 0000000..1fd9f7a --- /dev/null +++ b/src/Semi.Avalonia/Converters/PositionToAngleConverter.cs @@ -0,0 +1,27 @@ +using System; +using System.Globalization; +using Avalonia.Data.Converters; + +namespace Semi.Avalonia.Converters; + +public class PositionToAngleConverter: IValueConverter +{ + public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture) + { + if (value is double d) + { + return d * 3.6; + } + + return 0; + } + + public object? ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) + { + if (value is double d) + { + return d / 3.6; + } + return 0; + } +} \ No newline at end of file