From 75a6f57f0f16b360ba8cd06885a33ef1a7f48afd Mon Sep 17 00:00:00 2001 From: rabbitism Date: Wed, 25 Jan 2023 01:06:37 +0800 Subject: [PATCH 1/2] feat: add Slider infra, add horizontal styles. Add tooltip as variation. --- .../Semi.Avalonia.Demo/Pages/SliderDemo.axaml | 38 ++ .../Pages/SliderDemo.axaml.cs | 18 + demo/Semi.Avalonia.Demo/Views/MainView.axaml | 3 + src/Semi.Avalonia/Controls/Controls.axaml | 1 + src/Semi.Avalonia/Controls/Slider.axaml | 351 ++++++++++++++++++ src/Semi.Avalonia/Themes/Light/Light.axaml | 1 + src/Semi.Avalonia/Themes/Light/Slider.axaml | 23 ++ 7 files changed, 435 insertions(+) create mode 100644 demo/Semi.Avalonia.Demo/Pages/SliderDemo.axaml create mode 100644 demo/Semi.Avalonia.Demo/Pages/SliderDemo.axaml.cs create mode 100644 src/Semi.Avalonia/Controls/Slider.axaml create mode 100644 src/Semi.Avalonia/Themes/Light/Slider.axaml diff --git a/demo/Semi.Avalonia.Demo/Pages/SliderDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/SliderDemo.axaml new file mode 100644 index 0000000..9dec197 --- /dev/null +++ b/demo/Semi.Avalonia.Demo/Pages/SliderDemo.axaml @@ -0,0 +1,38 @@ + + + + + + + diff --git a/demo/Semi.Avalonia.Demo/Pages/SliderDemo.axaml.cs b/demo/Semi.Avalonia.Demo/Pages/SliderDemo.axaml.cs new file mode 100644 index 0000000..8bb304a --- /dev/null +++ b/demo/Semi.Avalonia.Demo/Pages/SliderDemo.axaml.cs @@ -0,0 +1,18 @@ +using Avalonia; +using Avalonia.Controls; +using Avalonia.Markup.Xaml; + +namespace Semi.Avalonia.Demo.Pages; + +public partial class SliderDemo : UserControl +{ + public SliderDemo() + { + InitializeComponent(); + } + + private void InitializeComponent() + { + AvaloniaXamlLoader.Load(this); + } +} \ No newline at end of file diff --git a/demo/Semi.Avalonia.Demo/Views/MainView.axaml b/demo/Semi.Avalonia.Demo/Views/MainView.axaml index e526ef6..447aba2 100644 --- a/demo/Semi.Avalonia.Demo/Views/MainView.axaml +++ b/demo/Semi.Avalonia.Demo/Views/MainView.axaml @@ -63,6 +63,9 @@ + + + diff --git a/src/Semi.Avalonia/Controls/Controls.axaml b/src/Semi.Avalonia/Controls/Controls.axaml index e9deabf..8f0c1f1 100644 --- a/src/Semi.Avalonia/Controls/Controls.axaml +++ b/src/Semi.Avalonia/Controls/Controls.axaml @@ -25,6 +25,7 @@ + diff --git a/src/Semi.Avalonia/Controls/Slider.axaml b/src/Semi.Avalonia/Controls/Slider.axaml new file mode 100644 index 0000000..3e3674a --- /dev/null +++ b/src/Semi.Avalonia/Controls/Slider.axaml @@ -0,0 +1,351 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Semi.Avalonia/Themes/Light/Light.axaml b/src/Semi.Avalonia/Themes/Light/Light.axaml index 1716221..176a422 100644 --- a/src/Semi.Avalonia/Themes/Light/Light.axaml +++ b/src/Semi.Avalonia/Themes/Light/Light.axaml @@ -17,6 +17,7 @@ + diff --git a/src/Semi.Avalonia/Themes/Light/Slider.axaml b/src/Semi.Avalonia/Themes/Light/Slider.axaml new file mode 100644 index 0000000..c2134b0 --- /dev/null +++ b/src/Semi.Avalonia/Themes/Light/Slider.axaml @@ -0,0 +1,23 @@ + + + + + 4 + 3 + 16 + 16 + 24 + 0 + 0 0 1 1 #1A000000 + + 4 + + + + + + 4 + From 79b9b67313bcf6824c3d12716cf5da5a4cf2ea49 Mon Sep 17 00:00:00 2001 From: rabbitism Date: Wed, 25 Jan 2023 11:44:01 +0800 Subject: [PATCH 2/2] feat: update vertical template. update disabled style. --- .../Semi.Avalonia.Demo/Pages/SliderDemo.axaml | 43 +++- src/Semi.Avalonia/Controls/Slider.axaml | 236 +++++++----------- src/Semi.Avalonia/Themes/Light/Slider.axaml | 7 +- 3 files changed, 137 insertions(+), 149 deletions(-) diff --git a/demo/Semi.Avalonia.Demo/Pages/SliderDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/SliderDemo.axaml index 9dec197..9236e51 100644 --- a/demo/Semi.Avalonia.Demo/Pages/SliderDemo.axaml +++ b/demo/Semi.Avalonia.Demo/Pages/SliderDemo.axaml @@ -4,7 +4,7 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - d:DesignHeight="450" + d:DesignHeight="800" d:DesignWidth="800" mc:Ignorable="d"> + + + + + + + diff --git a/src/Semi.Avalonia/Controls/Slider.axaml b/src/Semi.Avalonia/Controls/Slider.axaml index 3e3674a..3edc98f 100644 --- a/src/Semi.Avalonia/Controls/Slider.axaml +++ b/src/Semi.Avalonia/Controls/Slider.axaml @@ -44,7 +44,7 @@ - + @@ -158,105 +158,98 @@ + - - - - - - - - - - - - - - - - - - - - - + x:Name="VerticalTemplate" + MinWidth="{DynamicResource SliderVerticalWidth}" + RowDefinitions="*,Auto,Auto"> + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Semi.Avalonia/Themes/Light/Slider.axaml b/src/Semi.Avalonia/Themes/Light/Slider.axaml index c2134b0..01d5543 100644 --- a/src/Semi.Avalonia/Themes/Light/Slider.axaml +++ b/src/Semi.Avalonia/Themes/Light/Slider.axaml @@ -14,10 +14,15 @@ 0 0 1 1 #1A000000 4 + 4 - 4 + 2 + + + +