From 1b1caa1a35207379bfb01810b0936881e30abd8e Mon Sep 17 00:00:00 2001 From: rabbitism Date: Mon, 30 Jan 2023 01:52:05 +0800 Subject: [PATCH 1/2] feat: Add Splitview. --- .../Pages/SplitViewDemo.axaml | 152 +++++++++++ .../Pages/SplitViewDemo.axaml.cs | 18 ++ demo/Semi.Avalonia.Demo/Views/MainView.axaml | 3 + .../Semi.Avalonia.Demo/Views/MainWindow.axaml | 2 - src/Semi.Avalonia/Controls/Controls.axaml | 1 + src/Semi.Avalonia/Controls/SplitView.axaml | 251 ++++++++++++++++++ src/Semi.Avalonia/Themes/Light/Light.axaml | 1 + .../Themes/Light/SplitView.axaml | 12 + 8 files changed, 438 insertions(+), 2 deletions(-) create mode 100644 demo/Semi.Avalonia.Demo/Pages/SplitViewDemo.axaml create mode 100644 demo/Semi.Avalonia.Demo/Pages/SplitViewDemo.axaml.cs create mode 100644 src/Semi.Avalonia/Controls/SplitView.axaml create mode 100644 src/Semi.Avalonia/Themes/Light/SplitView.axaml diff --git a/demo/Semi.Avalonia.Demo/Pages/SplitViewDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/SplitViewDemo.axaml new file mode 100644 index 0000000..5d15f93 --- /dev/null +++ b/demo/Semi.Avalonia.Demo/Pages/SplitViewDemo.axaml @@ -0,0 +1,152 @@ + + + + + + + + + + + + + Inline + CompactInline + Overlay + CompactOverlay + + + + + White + Red + Blue + Green + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/demo/Semi.Avalonia.Demo/Pages/SplitViewDemo.axaml.cs b/demo/Semi.Avalonia.Demo/Pages/SplitViewDemo.axaml.cs new file mode 100644 index 0000000..e8a834f --- /dev/null +++ b/demo/Semi.Avalonia.Demo/Pages/SplitViewDemo.axaml.cs @@ -0,0 +1,18 @@ +using Avalonia; +using Avalonia.Controls; +using Avalonia.Markup.Xaml; + +namespace Semi.Avalonia.Demo.Pages; + +public partial class SplitViewDemo : UserControl +{ + public SplitViewDemo() + { + 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 986096e..8e2ffe4 100644 --- a/demo/Semi.Avalonia.Demo/Views/MainView.axaml +++ b/demo/Semi.Avalonia.Demo/Views/MainView.axaml @@ -81,6 +81,9 @@ + + + diff --git a/demo/Semi.Avalonia.Demo/Views/MainWindow.axaml b/demo/Semi.Avalonia.Demo/Views/MainWindow.axaml index d635818..dd78df4 100644 --- a/demo/Semi.Avalonia.Demo/Views/MainWindow.axaml +++ b/demo/Semi.Avalonia.Demo/Views/MainWindow.axaml @@ -8,8 +8,6 @@ Title="Semi.Avalonia.Demo" d:DesignHeight="450" d:DesignWidth="800" - ExtendClientAreaChromeHints="Default" - ExtendClientAreaToDecorationsHint="True" Icon="/Assets/avalonia-logo.ico" mc:Ignorable="d"> diff --git a/src/Semi.Avalonia/Controls/Controls.axaml b/src/Semi.Avalonia/Controls/Controls.axaml index 13b75f8..866cc49 100644 --- a/src/Semi.Avalonia/Controls/Controls.axaml +++ b/src/Semi.Avalonia/Controls/Controls.axaml @@ -35,6 +35,7 @@ + diff --git a/src/Semi.Avalonia/Controls/SplitView.axaml b/src/Semi.Avalonia/Controls/SplitView.axaml new file mode 100644 index 0000000..1f990f7 --- /dev/null +++ b/src/Semi.Avalonia/Controls/SplitView.axaml @@ -0,0 +1,251 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Semi.Avalonia/Themes/Light/Light.axaml b/src/Semi.Avalonia/Themes/Light/Light.axaml index 784b7f5..516e71e 100644 --- a/src/Semi.Avalonia/Themes/Light/Light.axaml +++ b/src/Semi.Avalonia/Themes/Light/Light.axaml @@ -26,6 +26,7 @@ + diff --git a/src/Semi.Avalonia/Themes/Light/SplitView.axaml b/src/Semi.Avalonia/Themes/Light/SplitView.axaml new file mode 100644 index 0000000..2588ea1 --- /dev/null +++ b/src/Semi.Avalonia/Themes/Light/SplitView.axaml @@ -0,0 +1,12 @@ + + + 320 + 48 + 00:00:00.2 + 00:00:00.1 + 0.1,0.9,0.2,1.0 + + From 30af6dae40bd9559c0ec20f8b4df97bdddcfaf7c Mon Sep 17 00:00:00 2001 From: rabbitism Date: Mon, 30 Jan 2023 01:56:04 +0800 Subject: [PATCH 2/2] feat: Move pane background to resource. --- src/Semi.Avalonia/Controls/SplitView.axaml | 2 +- src/Semi.Avalonia/Themes/Light/SplitView.axaml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Semi.Avalonia/Controls/SplitView.axaml b/src/Semi.Avalonia/Controls/SplitView.axaml index 1f990f7..2f59750 100644 --- a/src/Semi.Avalonia/Controls/SplitView.axaml +++ b/src/Semi.Avalonia/Controls/SplitView.axaml @@ -7,7 +7,7 @@ - +