From 28a1336413145f8894a63e0929b4da19289d6c05 Mon Sep 17 00:00:00 2001
From: Zhang Dian <54255897+zdpcdt@users.noreply.github.com>
Date: Wed, 9 Apr 2025 17:15:20 +0800
Subject: [PATCH] feat: add TabStripDemo.
---
.../Pages/TabStripDemo.axaml | 93 +++++++++++++++++++
.../Pages/TabStripDemo.axaml.cs | 13 +++
.../ViewModels/TabStripDemoViewModel.cs | 10 ++
demo/Semi.Avalonia.Demo/Views/MainView.axaml | 3 +
src/Semi.Avalonia/Controls/TabStrip.axaml | 2 +
5 files changed, 121 insertions(+)
create mode 100644 demo/Semi.Avalonia.Demo/Pages/TabStripDemo.axaml
create mode 100644 demo/Semi.Avalonia.Demo/Pages/TabStripDemo.axaml.cs
create mode 100644 demo/Semi.Avalonia.Demo/ViewModels/TabStripDemoViewModel.cs
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 6828287..71e6ec6 100644
--- a/src/Semi.Avalonia/Controls/TabStrip.axaml
+++ b/src/Semi.Avalonia/Controls/TabStrip.axaml
@@ -13,6 +13,7 @@
+
+