diff --git a/src/Semi.Avalonia.Demo/MainWindow.axaml b/src/Semi.Avalonia.Demo/MainWindow.axaml
index e5a4b98..e71f05f 100644
--- a/src/Semi.Avalonia.Demo/MainWindow.axaml
+++ b/src/Semi.Avalonia.Demo/MainWindow.axaml
@@ -1,9 +1,14 @@
+ x:Class="Semi.Avalonia.Demo.MainWindow"
+ xmlns="https://github.com/avaloniaui"
+ 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"
+ xmlns:pages="using:Semi.Avalonia.Demo.Pages"
+ Title="Semi.Demo"
+ d:DesignHeight="450"
+ d:DesignWidth="800"
+ mc:Ignorable="d">
@@ -47,5 +52,8 @@
+
+
+
diff --git a/src/Semi.Avalonia.Demo/Pages/ToggleSwitchDemo.axaml b/src/Semi.Avalonia.Demo/Pages/ToggleSwitchDemo.axaml
new file mode 100644
index 0000000..e46c580
--- /dev/null
+++ b/src/Semi.Avalonia.Demo/Pages/ToggleSwitchDemo.axaml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
diff --git a/src/Semi.Avalonia.Demo/Pages/ToggleSwitchDemo.axaml.cs b/src/Semi.Avalonia.Demo/Pages/ToggleSwitchDemo.axaml.cs
new file mode 100644
index 0000000..51b02b0
--- /dev/null
+++ b/src/Semi.Avalonia.Demo/Pages/ToggleSwitchDemo.axaml.cs
@@ -0,0 +1,18 @@
+using Avalonia;
+using Avalonia.Controls;
+using Avalonia.Markup.Xaml;
+
+namespace Semi.Avalonia.Demo.Pages;
+
+public partial class ToggleSwitchDemo : UserControl
+{
+ public ToggleSwitchDemo()
+ {
+ 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 15f6d62..491abfe 100644
--- a/src/Semi.Avalonia/Controls/Controls.axaml
+++ b/src/Semi.Avalonia/Controls/Controls.axaml
@@ -18,6 +18,7 @@
+
diff --git a/src/Semi.Avalonia/Controls/ToggleSwitch.axaml b/src/Semi.Avalonia/Controls/ToggleSwitch.axaml
new file mode 100644
index 0000000..b05fb51
--- /dev/null
+++ b/src/Semi.Avalonia/Controls/ToggleSwitch.axaml
@@ -0,0 +1,161 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Semi.Avalonia/Themes/Light/Light.axaml b/src/Semi.Avalonia/Themes/Light/Light.axaml
index 0a5a374..7aa456e 100644
--- a/src/Semi.Avalonia/Themes/Light/Light.axaml
+++ b/src/Semi.Avalonia/Themes/Light/Light.axaml
@@ -14,6 +14,7 @@
+
diff --git a/src/Semi.Avalonia/Themes/Light/ToggleSwitch.axaml b/src/Semi.Avalonia/Themes/Light/ToggleSwitch.axaml
new file mode 100644
index 0000000..b5b8a3e
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Light/ToggleSwitch.axaml
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 24
+ 16
+ 32
+ 40
+ 26
+ 54
+ 18
+ 12
+ 24
+
+ 12
+ 14
+
+ 8 4
+ 8 4
+