diff --git a/demo/Semi.Avalonia.Demo/Pages/TabStripDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/TabStripDemo.axaml
new file mode 100644
index 0000000..b078cba
--- /dev/null
+++ b/demo/Semi.Avalonia.Demo/Pages/TabStripDemo.axaml
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/demo/Semi.Avalonia.Demo/Pages/TabStripDemo.axaml.cs b/demo/Semi.Avalonia.Demo/Pages/TabStripDemo.axaml.cs
new file mode 100644
index 0000000..40ccf12
--- /dev/null
+++ b/demo/Semi.Avalonia.Demo/Pages/TabStripDemo.axaml.cs
@@ -0,0 +1,13 @@
+using Avalonia.Controls;
+using Semi.Avalonia.Demo.ViewModels;
+
+namespace Semi.Avalonia.Demo.Pages;
+
+public partial class TabStripDemo : UserControl
+{
+ public TabStripDemo()
+ {
+ InitializeComponent();
+ this.DataContext = new TabStripDemoViewModel();
+ }
+}
\ No newline at end of file
diff --git a/demo/Semi.Avalonia.Demo/ViewModels/TabStripDemoViewModel.cs b/demo/Semi.Avalonia.Demo/ViewModels/TabStripDemoViewModel.cs
new file mode 100644
index 0000000..353fc5f
--- /dev/null
+++ b/demo/Semi.Avalonia.Demo/ViewModels/TabStripDemoViewModel.cs
@@ -0,0 +1,10 @@
+using System.Collections.ObjectModel;
+using System.Linq;
+using CommunityToolkit.Mvvm.ComponentModel;
+
+namespace Semi.Avalonia.Demo.ViewModels;
+
+public class TabStripDemoViewModel : ObservableObject
+{
+ public ObservableCollection Items => new(Enumerable.Range(1, 10).Select(a => "Tab " + a));
+}
\ 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 3eb3ccd..2f79f72 100644
--- a/demo/Semi.Avalonia.Demo/Views/MainView.axaml
+++ b/demo/Semi.Avalonia.Demo/Views/MainView.axaml
@@ -219,6 +219,9 @@
+
+
+
diff --git a/src/Semi.Avalonia/Controls/TabStrip.axaml b/src/Semi.Avalonia/Controls/TabStrip.axaml
index 84d569b..54f9b0b 100644
--- a/src/Semi.Avalonia/Controls/TabStrip.axaml
+++ b/src/Semi.Avalonia/Controls/TabStrip.axaml
@@ -2,108 +2,215 @@
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:CompileBindings="True">
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
-
-
-
-
+
-
-
-
-
-
-
+ Content="{TemplateBinding Content}"
+ ContentTemplate="{TemplateBinding ContentTemplate}"
+ CornerRadius="{TemplateBinding CornerRadius}"
+ FontFamily="{TemplateBinding FontFamily}"
+ FontWeight="{TemplateBinding FontWeight}"
+ Foreground="{TemplateBinding Foreground}" />
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Styles/TabStrip.axaml b/src/Semi.Avalonia/Styles/TabStrip.axaml
new file mode 100644
index 0000000..185f7b7
--- /dev/null
+++ b/src/Semi.Avalonia/Styles/TabStrip.axaml
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Styles/_index.axaml b/src/Semi.Avalonia/Styles/_index.axaml
index 574fa22..5afce03 100644
--- a/src/Semi.Avalonia/Styles/_index.axaml
+++ b/src/Semi.Avalonia/Styles/_index.axaml
@@ -1,3 +1,4 @@
+
\ No newline at end of file