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 @@ + +