diff --git a/demo/Semi.Avalonia.Demo/Pages/MenuDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/MenuDemo.axaml
new file mode 100644
index 0000000..7a52381
--- /dev/null
+++ b/demo/Semi.Avalonia.Demo/Pages/MenuDemo.axaml
@@ -0,0 +1,20 @@
+
+
+
+
+
diff --git a/demo/Semi.Avalonia.Demo/Pages/MenuDemo.axaml.cs b/demo/Semi.Avalonia.Demo/Pages/MenuDemo.axaml.cs
new file mode 100644
index 0000000..698f0ee
--- /dev/null
+++ b/demo/Semi.Avalonia.Demo/Pages/MenuDemo.axaml.cs
@@ -0,0 +1,18 @@
+using Avalonia;
+using Avalonia.Controls;
+using Avalonia.Markup.Xaml;
+
+namespace Semi.Avalonia.Demo.Pages;
+
+public partial class MenuDemo : UserControl
+{
+ public MenuDemo()
+ {
+ 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 55699a6..3376d8b 100644
--- a/src/Semi.Avalonia/Controls/Controls.axaml
+++ b/src/Semi.Avalonia/Controls/Controls.axaml
@@ -13,6 +13,8 @@
+
+
diff --git a/src/Semi.Avalonia/Controls/Menu.axaml b/src/Semi.Avalonia/Controls/Menu.axaml
new file mode 100644
index 0000000..9017e8d
--- /dev/null
+++ b/src/Semi.Avalonia/Controls/Menu.axaml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/src/Semi.Avalonia/Controls/MenuFlyoutPresenter.axaml b/src/Semi.Avalonia/Controls/MenuFlyoutPresenter.axaml
new file mode 100644
index 0000000..9017e8d
--- /dev/null
+++ b/src/Semi.Avalonia/Controls/MenuFlyoutPresenter.axaml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/src/Semi.Avalonia/Themes/Light/Light.axaml b/src/Semi.Avalonia/Themes/Light/Light.axaml
index 378b4d9..c9f723b 100644
--- a/src/Semi.Avalonia/Themes/Light/Light.axaml
+++ b/src/Semi.Avalonia/Themes/Light/Light.axaml
@@ -11,6 +11,7 @@
+
diff --git a/src/Semi.Avalonia/Themes/Light/Menu.axaml b/src/Semi.Avalonia/Themes/Light/Menu.axaml
new file mode 100644
index 0000000..9017e8d
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Light/Menu.axaml
@@ -0,0 +1,3 @@
+
+
+