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
+