From 348a77243d3c4d1ed68e324d032a11c008585b36 Mon Sep 17 00:00:00 2001 From: rabbitism Date: Fri, 16 Dec 2022 18:56:07 +0800 Subject: [PATCH] feat: add TreeView theme. --- src/Semi.Avalonia.Demo/MainWindow.axaml | 3 + .../Pages/TreeViewDemo.axaml | 42 +++++ .../Pages/TreeViewDemo.axaml.cs | 18 ++ src/Semi.Avalonia/Controls/Controls.axaml | 1 + src/Semi.Avalonia/Controls/TreeView.axaml | 177 ++++++++++++++++++ src/Semi.Avalonia/Themes/Light/Light.axaml | 1 + src/Semi.Avalonia/Themes/Light/TreeView.axaml | 24 +++ 7 files changed, 266 insertions(+) create mode 100644 src/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml create mode 100644 src/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml.cs create mode 100644 src/Semi.Avalonia/Controls/TreeView.axaml create mode 100644 src/Semi.Avalonia/Themes/Light/TreeView.axaml diff --git a/src/Semi.Avalonia.Demo/MainWindow.axaml b/src/Semi.Avalonia.Demo/MainWindow.axaml index 553004b..8ab668d 100644 --- a/src/Semi.Avalonia.Demo/MainWindow.axaml +++ b/src/Semi.Avalonia.Demo/MainWindow.axaml @@ -35,6 +35,9 @@ + + + diff --git a/src/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml b/src/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml new file mode 100644 index 0000000..74a29ee --- /dev/null +++ b/src/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + Layer 1 + Layer 2 + Layer 3 + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml.cs b/src/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml.cs new file mode 100644 index 0000000..b6011a6 --- /dev/null +++ b/src/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml.cs @@ -0,0 +1,18 @@ +using Avalonia; +using Avalonia.Controls; +using Avalonia.Markup.Xaml; + +namespace Semi.Avalonia.Demo.Pages; + +public partial class TreeViewDemo : UserControl +{ + public TreeViewDemo() + { + InitializeComponent(); + } + + private void InitializeComponent() + { + AvaloniaXamlLoader.Load(this); + } +} \ No newline at end of file diff --git a/src/Semi.Avalonia/Controls/Controls.axaml b/src/Semi.Avalonia/Controls/Controls.axaml index 01ceddf..db08b35 100644 --- a/src/Semi.Avalonia/Controls/Controls.axaml +++ b/src/Semi.Avalonia/Controls/Controls.axaml @@ -15,6 +15,7 @@ + diff --git a/src/Semi.Avalonia/Controls/TreeView.axaml b/src/Semi.Avalonia/Controls/TreeView.axaml new file mode 100644 index 0000000..44d2b03 --- /dev/null +++ b/src/Semi.Avalonia/Controls/TreeView.axaml @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Semi.Avalonia/Themes/Light/Light.axaml b/src/Semi.Avalonia/Themes/Light/Light.axaml index 15d962d..163188d 100644 --- a/src/Semi.Avalonia/Themes/Light/Light.axaml +++ b/src/Semi.Avalonia/Themes/Light/Light.axaml @@ -13,6 +13,7 @@ + diff --git a/src/Semi.Avalonia/Themes/Light/TreeView.axaml b/src/Semi.Avalonia/Themes/Light/TreeView.axaml new file mode 100644 index 0000000..7210326 --- /dev/null +++ b/src/Semi.Avalonia/Themes/Light/TreeView.axaml @@ -0,0 +1,24 @@ + + 20 + 8 + 12, 0, 12, 0 + + M9.65618 3.44015L18.6322 11.2454C19.0906 11.644 19.0906 12.356 18.6322 12.7546L9.65618 20.5598C9.00895 21.1226 8 20.6629 8 19.8052V4.19475C8 3.33705 9.00895 2.87734 9.65618 3.44015Z + + + + + + + + + + + + + + 0 0 8 0 + 8 4 0 4 +