diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
new file mode 100644
index 0000000..bcd5bde
--- /dev/null
+++ b/.github/workflows/deploy.yml
@@ -0,0 +1,50 @@
+name: Deploy to GitHub Pages
+
+env:
+ PROJECT_PATH: demo/Semi.Avalonia.Demo.Web/Semi.Avalonia.Demo.Web.csproj
+ OUTPUT_PATH: demo/Semi.Avalonia.Demo.Web/bin/Debug/net7.0/browser-wasm/AppBundle
+on:
+ push:
+ branches: [ "deploy" ]
+ pull_request:
+ branches: [ "deploy" ]
+
+jobs:
+ deploy-to-github-pages:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Setup .NET Core SDK
+ uses: actions/setup-dotnet@v1.9.0
+
+ - name: Install wasm-tools
+ run: dotnet workload install wasm-tools wasm-experimental
+
+ - name: Install DotNetCompress
+ run: dotnet tool install --global DotNetCompress --version 2.0.0 --no-cache
+
+ - name: Publish .NET Project
+ run: dotnet publish $PROJECT_PATH -c Debug -o debug --nologo
+
+ - name: Change base-tag in index.html
+ run: sed -i 's///g' $OUTPUT_PATH/index.html
+
+ - name: copy index.html to 404.html
+ run: cp $OUTPUT_PATH/index.html $OUTPUT_PATH/404.html
+
+ - name: Compress Output using Brotli
+ run: DotNetCompress -d $OUTPUT_PATH -p "*.dll" "*.js" "*.wasm" --format br --threads 4
+
+ - name: Compress Output using GZip
+ run: DotNetCompress -d $OUTPUT_PATH -p "*.dll" "*.js" "*.wasm" --format gz --threads 4
+
+ - name: Add .nojekyll file
+ run: touch $OUTPUT_PATH/.nojekyll
+
+ - name: Commit wwwroot to GitHub Pages
+ uses: JamesIves/github-pages-deploy-action@4.1.7
+ with:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ BRANCH: gh-pages
+ FOLDER: ${{ env.OUTPUT_PATH }}
diff --git a/README.md b/README.md
index 9050702..1df0117 100644
--- a/README.md
+++ b/README.md
@@ -9,7 +9,7 @@ Avalonia Theme inspired by Semi Design
## Installation
```bash
-dotnet add package Semi.Avalonia --version 11.0.0-rc1
+dotnet add package Semi.Avalonia --version 11.0.0
```
Include Semi Design Styles in application:
@@ -23,8 +23,8 @@ That's all.
DataGrid and ColorPicker are distributed in separated packages. Please install if you need.
```bash
-dotnet add package Semi.Avalonia.ColorPicker --version 11.0.0-rc1
-dotnet add package Semi.Avalonia.DataGrid --version 11.0.0-rc1
+dotnet add package Semi.Avalonia.ColorPicker --version 11.0.0
+dotnet add package Semi.Avalonia.DataGrid --version 11.0.0
```
```xaml
@@ -42,20 +42,9 @@ https://github.com/irihitech/Semi.Avalonia/releases
| Semi Design Version | Avalonia Version |
|:--------------------|:-----------------|
-| 11.0.0-rc1 | 11.0.0-rc1.1 |
-| 0.1.0-preview3 | 11.0-preview4 |
-| 0.1.0-preview5.x | 11.0-preview5 |
-| 0.1.0-preview6.x | 11.0-preview6 |
-| 0.1.0-preview7.x | 11.0-preview7 |
-| 0.1.0-preview8.x | 11.0-preview8 |
-
-**NOTE**
-
-Semi Avalonia theme is moving forward together with Avalonia preview versions now. So new feature/fixes are not backported to previous preview versions. If you need a feature/fix for outdated avalonia preview version, please raise an issue so we can do that for you.
-
+| 11.0.0 | 11.0.0 |
## TODO
-* DataValidationErrors
* FocusAdorner
## Credits
diff --git a/Semi.Avalonia.sln b/Semi.Avalonia.sln
index a9245de..827c045 100644
--- a/Semi.Avalonia.sln
+++ b/Semi.Avalonia.sln
@@ -26,6 +26,12 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Semi.Avalonia.ColorPicker",
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Semi.Avalonia.Demo.Android", "demo\Semi.Avalonia.Demo.Android\Semi.Avalonia.Demo.Android.csproj", "{0C81FC1C-5D2D-478A-9876-923A0C85EC2F}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Semi.Avalonia.Demo.Drm", "demo\Semi.Avalonia.Demo.Drm\Semi.Avalonia.Demo.Drm.csproj", "{86D93406-412A-4429-93B2-92AAD0407784}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Semi.Avalonia.TreeDataGrid", "src\Semi.Avalonia.TreeDataGrid\Semi.Avalonia.TreeDataGrid.csproj", "{398D2998-0835-41F5-99A3-608CAB8051E2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Semi.Avalonia.TreeDataGrid.Demo", "demo\Semi.Avalonia.TreeDataGrid.Demo\Semi.Avalonia.TreeDataGrid.Demo.csproj", "{6178B545-4BB6-458C-A27C-EE11F3885D38}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -61,6 +67,18 @@ Global
{0C81FC1C-5D2D-478A-9876-923A0C85EC2F}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{0C81FC1C-5D2D-478A-9876-923A0C85EC2F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0C81FC1C-5D2D-478A-9876-923A0C85EC2F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {86D93406-412A-4429-93B2-92AAD0407784}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {86D93406-412A-4429-93B2-92AAD0407784}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {86D93406-412A-4429-93B2-92AAD0407784}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {86D93406-412A-4429-93B2-92AAD0407784}.Release|Any CPU.Build.0 = Release|Any CPU
+ {398D2998-0835-41F5-99A3-608CAB8051E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {398D2998-0835-41F5-99A3-608CAB8051E2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {398D2998-0835-41F5-99A3-608CAB8051E2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {398D2998-0835-41F5-99A3-608CAB8051E2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6178B545-4BB6-458C-A27C-EE11F3885D38}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6178B545-4BB6-458C-A27C-EE11F3885D38}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6178B545-4BB6-458C-A27C-EE11F3885D38}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6178B545-4BB6-458C-A27C-EE11F3885D38}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -70,6 +88,8 @@ Global
{69A2C77D-6DB7-4AE4-B179-D1F5CF5E2DF0} = {43091528-9509-43CB-A003-9C5C11E96DD6}
{D789AEDB-EBDF-4450-8E8E-B4A03FB257B0} = {43091528-9509-43CB-A003-9C5C11E96DD6}
{0C81FC1C-5D2D-478A-9876-923A0C85EC2F} = {43091528-9509-43CB-A003-9C5C11E96DD6}
+ {86D93406-412A-4429-93B2-92AAD0407784} = {43091528-9509-43CB-A003-9C5C11E96DD6}
+ {6178B545-4BB6-458C-A27C-EE11F3885D38} = {43091528-9509-43CB-A003-9C5C11E96DD6}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {7CA41ED3-2CED-40CC-AA21-28C3B42B1E86}
diff --git a/demo/Semi.Avalonia.Demo.Android/MainActivity.cs b/demo/Semi.Avalonia.Demo.Android/MainActivity.cs
index 7906c4f..03b691f 100644
--- a/demo/Semi.Avalonia.Demo.Android/MainActivity.cs
+++ b/demo/Semi.Avalonia.Demo.Android/MainActivity.cs
@@ -4,9 +4,13 @@ using Avalonia.Android;
namespace Semi.Avalonia.Demo.Android;
-[Activity(Label = "Semi.Avalonia.Demo.Android", Icon = "@drawable/Icon", Theme = "@style/MyTheme.NoActionBar",
- LaunchMode = LaunchMode.SingleTop, ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.ScreenSize)]
-public class MainActivity : AvaloniaMainActivity
+[Activity(
+ Label = "Semi.Avalonia",
+ Theme = "@style/MyTheme.NoActionBar",
+ Icon = "@drawable/Icon",
+ MainLauncher = true,
+ LaunchMode = LaunchMode.SingleTop,
+ ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.ScreenSize | ConfigChanges.UiMode)]
+public class MainActivity : AvaloniaMainActivity
{
-
}
\ No newline at end of file
diff --git a/demo/Semi.Avalonia.Demo.Android/SplashActivity.cs b/demo/Semi.Avalonia.Demo.Android/SplashActivity.cs
deleted file mode 100644
index 3186324..0000000
--- a/demo/Semi.Avalonia.Demo.Android/SplashActivity.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using Android.App;
-using Android.Content;
-using Avalonia;
-using Avalonia.Android;
-using Application = Android.App.Application;
-
-namespace Semi.Avalonia.Demo.Android;
-
-[Activity(Theme = "@style/MyTheme.Splash", MainLauncher = true, NoHistory = true)]
-public class SplashActivity: AvaloniaMainActivity
-{
- protected override AppBuilder CustomizeAppBuilder(AppBuilder builder)
- {
- return base.CustomizeAppBuilder(builder);
- }
-
- protected override void OnResume()
- {
- base.OnResume();
- StartActivity(new Intent(Application.Context, typeof(MainActivity)));
- }
-}
\ No newline at end of file
diff --git a/demo/Semi.Avalonia.Demo.Android/Views/MainView.axaml b/demo/Semi.Avalonia.Demo.Android/Views/MainView.axaml
deleted file mode 100644
index 250500b..0000000
--- a/demo/Semi.Avalonia.Demo.Android/Views/MainView.axaml
+++ /dev/null
@@ -1,11 +0,0 @@
-
- Welcome to Avalonia!
-
diff --git a/demo/Semi.Avalonia.Demo.Desktop/App.axaml b/demo/Semi.Avalonia.Demo.Desktop/App.axaml
deleted file mode 100644
index c12b782..0000000
--- a/demo/Semi.Avalonia.Demo.Desktop/App.axaml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/demo/Semi.Avalonia.Demo.Desktop/Program.cs b/demo/Semi.Avalonia.Demo.Desktop/Program.cs
index d42b109..e011c45 100644
--- a/demo/Semi.Avalonia.Demo.Desktop/Program.cs
+++ b/demo/Semi.Avalonia.Demo.Desktop/Program.cs
@@ -1,7 +1,9 @@
-using System;
-using Avalonia;
+using Avalonia;
using Avalonia.Dialogs;
using Avalonia.Media;
+using System;
+using System.Linq;
+using System.Threading;
namespace Semi.Avalonia.Demo.Desktop;
diff --git a/demo/Semi.Avalonia.Demo.Drm/Program.cs b/demo/Semi.Avalonia.Demo.Drm/Program.cs
new file mode 100644
index 0000000..45d2f66
--- /dev/null
+++ b/demo/Semi.Avalonia.Demo.Drm/Program.cs
@@ -0,0 +1,59 @@
+using Avalonia;
+using Avalonia.Dialogs;
+using Avalonia.Media;
+using System;
+using System.Linq;
+using System.Threading;
+
+namespace Semi.Avalonia.Demo.Drm
+{
+ internal class Program
+ {
+ // Initialization code. Don't use any Avalonia, third-party APIs or any
+ // SynchronizationContext-reliant code before AppMain is called: things aren't initialized
+ // yet and stuff might break.
+ [STAThread]
+ public static void Main(string[] args)
+ {
+ var builder = BuildAvaloniaApp();
+ builder.With(new FontManagerOptions
+ {
+ FontFallbacks = new[]
+ {
+ new FontFallback
+ {
+ FontFamily = new FontFamily("Microsoft YaHei")
+ }
+ }
+ });
+ if (args.Contains("--drm"))
+ {
+ SilenceConsole();
+ builder.StartLinuxDrm(args: args, card: "/dev/dri/card0", scaling: 1);
+ }
+ else
+ {
+ builder.StartWithClassicDesktopLifetime(args);
+ }
+ }
+
+ // Avalonia configuration, don't remove; also used by visual designer.
+ public static AppBuilder BuildAvaloniaApp()
+ => AppBuilder.Configure()
+ .UseManagedSystemDialogs()
+ .UsePlatformDetect()
+ .With(new Win32PlatformOptions())
+ .LogToTrace();
+
+ private static void SilenceConsole()
+ {
+ new Thread(() =>
+ {
+ Console.CursorVisible = false;
+ while (true)
+ Console.ReadKey(true);
+ })
+ { IsBackground = true }.Start();
+ }
+ }
+}
\ No newline at end of file
diff --git a/demo/Semi.Avalonia.Demo.Drm/Semi.Avalonia.Demo.Drm.csproj b/demo/Semi.Avalonia.Demo.Drm/Semi.Avalonia.Demo.Drm.csproj
new file mode 100644
index 0000000..7accf7a
--- /dev/null
+++ b/demo/Semi.Avalonia.Demo.Drm/Semi.Avalonia.Demo.Drm.csproj
@@ -0,0 +1,22 @@
+
+
+ WinExe
+ net7.0
+ enable
+ true
+ app.manifest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/demo/Semi.Avalonia.Demo.Drm/app.manifest b/demo/Semi.Avalonia.Demo.Drm/app.manifest
new file mode 100644
index 0000000..938919a
--- /dev/null
+++ b/demo/Semi.Avalonia.Demo.Drm/app.manifest
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/demo/Semi.Avalonia.Demo.Drm/使用方法.md b/demo/Semi.Avalonia.Demo.Drm/使用方法.md
new file mode 100644
index 0000000..efe659a
--- /dev/null
+++ b/demo/Semi.Avalonia.Demo.Drm/使用方法.md
@@ -0,0 +1,51 @@
+# DRM启动步骤
+
+(Ubuntu18.04Server版本 虚拟机测试OK)
+
+Avalonia官方参考文档:https://docs.avaloniaui.net/docs/next/guides/platforms/rpi/running-on-raspbian-lite-via-drm
+
+1.Linux端运行命令
+ sudo apt update
+ sudo apt upgrade
+ sudo reboot
+ sudo apt - get install libgbm1 libgl1 - mesa - dri libegl1 - mesa libinput10
+
+2.安装测试工具测试(出现一个彩色立方体说明环境安装完成)
+ sudo apt-get install kmscube
+ sudo kmscube
+
+3.安装.net运行时(参考网址:https://learn.microsoft.com/zh-cn/dotnet/core/install/linux?WT.mc_id=dotnet-35129-website)
+
+4.新建一个Avalonia项目,nuget里面添加Avalonia.LinuxFramebuffer包
+
+5.添加StartLinuxDrm代码(不知道怎么添加看Semi.Avalonia.Demo.Drm项目代码)
+
+6.发布程序到Linux(安装.net,怎么运行这些省略)
+
+7.运行 ./Semi.Avalonia.Demo.Drm --drm
+
+## 报错处理:
+
+1. 报错内容
+
+>Unhandled exception. Avalonia.Markup.Xaml.XamlLoadException: No precompiled XAML found for avares://Semi.Avalonia/Themes/Light/Light.axaml (baseUri: avares://Semi.Avalonia/Themes/Index.axaml), make sure to specify x:Class and include your XAML file as AvaloniaResource
+
+ 解决方法:
+ 如果使用Semi发布文件不要裁剪,如果裁剪会报错
+
+
+2. 报错内容
+>Unhandled exception. System.TypeInitializationException: The type initializer for 'SkiaSharp.SKImageInfo' threw an exception.**
+ **--->System.DllNotFoundException: Unable to load shared library 'libSkiaSharp' or one of its dependencies.In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibSkiaSharp: cannot open shared object file: No such file or directory
+ at SkiaSharp.SkiaApi.sk_colortype_get_default_8888()
+ at SkiaSharp.SKImageInfo..cctor()
+
+解决方法:
+ Linux命令行安装一下 apt-get install -y libfontconfig1
+ 参考网址:https://github.com/mono/SkiaSharp/issues/509
+
+3. 报错内容
+>Permission denied
+
+解决方法:
+ sudo chmod +x ./Semi.Avalonia.Demo.Drm
\ No newline at end of file
diff --git a/demo/Semi.Avalonia.Demo.Web/App.axaml b/demo/Semi.Avalonia.Demo.Web/App.axaml
deleted file mode 100644
index fe5d151..0000000
--- a/demo/Semi.Avalonia.Demo.Web/App.axaml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/demo/Semi.Avalonia.Demo.Web/App.axaml.cs b/demo/Semi.Avalonia.Demo.Web/App.axaml.cs
deleted file mode 100644
index 5638d50..0000000
--- a/demo/Semi.Avalonia.Demo.Web/App.axaml.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using Avalonia;
-using Avalonia.Controls.ApplicationLifetimes;
-using Avalonia.Markup.Xaml;
-using Semi.Avalonia.Demo.Views;
-
-namespace Semi.Avalonia.Demo.Web;
-
-public partial class App : Application
-{
- public override void Initialize()
- {
- AvaloniaXamlLoader.Load(this);
- }
-
- public override void OnFrameworkInitializationCompleted()
- {
- if (ApplicationLifetime is ISingleViewApplicationLifetime singleViewPlatform)
- {
- singleViewPlatform.MainView = new MainView();
- }
- base.OnFrameworkInitializationCompleted();
- }
-}
\ No newline at end of file
diff --git a/demo/Semi.Avalonia.Demo.Web/AppBundle/app.css b/demo/Semi.Avalonia.Demo.Web/AppBundle/app.css
index 027ea8f..a424538 100644
--- a/demo/Semi.Avalonia.Demo.Web/AppBundle/app.css
+++ b/demo/Semi.Avalonia.Demo.Web/AppBundle/app.css
@@ -1,4 +1,11 @@
-/* HTML styles for the splash screen */
+:root {
+ --sat: env(safe-area-inset-top);
+ --sar: env(safe-area-inset-right);
+ --sab: env(safe-area-inset-bottom);
+ --sal: env(safe-area-inset-left);
+}
+
+/* HTML styles for the splash screen */
.highlight {
color: white;
diff --git a/demo/Semi.Avalonia.Demo.Web/AppBundle/index.html b/demo/Semi.Avalonia.Demo.Web/AppBundle/index.html
index c90e26c..703ee35 100644
--- a/demo/Semi.Avalonia.Demo.Web/AppBundle/index.html
+++ b/demo/Semi.Avalonia.Demo.Web/AppBundle/index.html
@@ -10,7 +10,6 @@
-
diff --git a/demo/Semi.Avalonia.Demo.Web/AppBundle/main.js b/demo/Semi.Avalonia.Demo.Web/AppBundle/main.js
index 2426ede..0dbe2e4 100644
--- a/demo/Semi.Avalonia.Demo.Web/AppBundle/main.js
+++ b/demo/Semi.Avalonia.Demo.Web/AppBundle/main.js
@@ -1,5 +1,4 @@
import { dotnet } from './dotnet.js'
-import { registerAvaloniaModule } from './avalonia.js';
const is_browser = typeof window != "undefined";
if (!is_browser) throw new Error(`Expected to be running in a browser`);
@@ -9,8 +8,6 @@ const dotnetRuntime = await dotnet
.withApplicationArgumentsFromQuery()
.create();
-await registerAvaloniaModule(dotnetRuntime);
-
const config = dotnetRuntime.getConfig();
await dotnetRuntime.runMainAndExit(config.mainAssemblyName, [window.location.search]);
\ No newline at end of file
diff --git a/demo/Semi.Avalonia.Demo.Web/Program.cs b/demo/Semi.Avalonia.Demo.Web/Program.cs
index 37143f0..17e83a9 100644
--- a/demo/Semi.Avalonia.Demo.Web/Program.cs
+++ b/demo/Semi.Avalonia.Demo.Web/Program.cs
@@ -1,17 +1,16 @@
using System.Runtime.Versioning;
+using System.Threading.Tasks;
using Avalonia;
-using Avalonia.Media;
-using Semi.Avalonia.Demo.Web;
using Avalonia.Browser;
[assembly: SupportedOSPlatform("browser")]
+namespace Semi.Avalonia.Demo.Web;
+
internal partial class Program
{
- private static void Main(string[] args)
- {
- BuildAvaloniaApp(); //.SetupBrowserApp("out");
- }
+ private static async Task Main(string[] args) => await BuildAvaloniaApp()
+ .StartBrowserAppAsync("out");
public static AppBuilder BuildAvaloniaApp()
=> AppBuilder.Configure();
diff --git a/demo/Semi.Avalonia.Demo.Web/Semi.Avalonia.Demo.Web.csproj b/demo/Semi.Avalonia.Demo.Web/Semi.Avalonia.Demo.Web.csproj
index 9db7e5b..b169194 100644
--- a/demo/Semi.Avalonia.Demo.Web/Semi.Avalonia.Demo.Web.csproj
+++ b/demo/Semi.Avalonia.Demo.Web/Semi.Avalonia.Demo.Web.csproj
@@ -10,20 +10,11 @@
-
-
-
-
-
-
-
-
-
-
+
diff --git a/demo/Semi.Avalonia.Demo.Android/App.axaml b/demo/Semi.Avalonia.Demo/App.axaml
similarity index 69%
rename from demo/Semi.Avalonia.Demo.Android/App.axaml
rename to demo/Semi.Avalonia.Demo/App.axaml
index 6387ef8..07879bb 100644
--- a/demo/Semi.Avalonia.Demo.Android/App.axaml
+++ b/demo/Semi.Avalonia.Demo/App.axaml
@@ -1,8 +1,7 @@
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
diff --git a/demo/Semi.Avalonia.Demo.Android/App.axaml.cs b/demo/Semi.Avalonia.Demo/App.axaml.cs
similarity index 53%
rename from demo/Semi.Avalonia.Demo.Android/App.axaml.cs
rename to demo/Semi.Avalonia.Demo/App.axaml.cs
index e68f7de..399c279 100644
--- a/demo/Semi.Avalonia.Demo.Android/App.axaml.cs
+++ b/demo/Semi.Avalonia.Demo/App.axaml.cs
@@ -1,10 +1,9 @@
using Avalonia;
-using Avalonia.Controls;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Markup.Xaml;
using Semi.Avalonia.Demo.Views;
-namespace Semi.Avalonia.Demo.Android;
+namespace Semi.Avalonia.Demo;
public partial class App : Application
{
@@ -15,13 +14,16 @@ public partial class App : Application
public override void OnFrameworkInitializationCompleted()
{
- if (ApplicationLifetime is ISingleViewApplicationLifetime single)
+ switch (ApplicationLifetime)
{
- single.MainView = new MainView()
- {
-
- };
+ case IClassicDesktopStyleApplicationLifetime desktop:
+ desktop.MainWindow = new MainWindow();
+ break;
+ case ISingleViewApplicationLifetime singleView:
+ singleView.MainView = new MainView();
+ break;
}
+
base.OnFrameworkInitializationCompleted();
}
}
\ No newline at end of file
diff --git a/demo/Semi.Avalonia.Demo/Pages/ButtonSpinnerDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/ButtonSpinnerDemo.axaml
index 44d5cc6..4aa5cd0 100644
--- a/demo/Semi.Avalonia.Demo/Pages/ButtonSpinnerDemo.axaml
+++ b/demo/Semi.Avalonia.Demo/Pages/ButtonSpinnerDemo.axaml
@@ -17,8 +17,7 @@
+ Text="A.S.I.A" />
+ Text="A.S.I.A" />
diff --git a/demo/Semi.Avalonia.Demo/Pages/ButtonSpinnerDemo.axaml.cs b/demo/Semi.Avalonia.Demo/Pages/ButtonSpinnerDemo.axaml.cs
index a6e8f51..f562d3e 100644
--- a/demo/Semi.Avalonia.Demo/Pages/ButtonSpinnerDemo.axaml.cs
+++ b/demo/Semi.Avalonia.Demo/Pages/ButtonSpinnerDemo.axaml.cs
@@ -36,15 +36,20 @@ public partial class ButtonSpinnerDemo : UserControl
private readonly string[] _mountains = new[]
{
- "Everest",
- "K2 (Mount Godwin Austen)",
- "Kangchenjunga",
- "Lhotse",
- "Makalu",
- "Cho Oyu",
- "Dhaulagiri",
- "Manaslu",
- "Nanga Parbat",
- "Annapurna"
+ "A.S.I.A",
+ "饕餮人间",
+ "七步咙咚呛",
+ "大惊小怪",
+ "The ONE",
+ "以梦为马 (壮志骄阳版)",
+ "emo了",
+ "一眼万年",
+ "冲刺吧",
+ "爱的赏味期限",
+ "COSMIC ANTHEM / 手紙",
+ "世界晚安",
+ "明年也要好好长大",
+ "320万年前",
+ "W.O.R.L.D.",
};
}
\ No newline at end of file
diff --git a/demo/Semi.Avalonia.Demo/Pages/CheckBoxDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/CheckBoxDemo.axaml
index 204599d..9932a0e 100644
--- a/demo/Semi.Avalonia.Demo/Pages/CheckBoxDemo.axaml
+++ b/demo/Semi.Avalonia.Demo/Pages/CheckBoxDemo.axaml
@@ -47,126 +47,79 @@
IsThreeState="True"
Theme="{StaticResource SimpleCheckBox}" />
-
+
-
-
- 复选框标题
- Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统
-
-
+
+
+
-
- 复选框标题
- Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统
-
-
+ Theme="{DynamicResource CardCheckBox}" />
+
+
-
- 复选框标题
- Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统
-
-
+ Theme="{DynamicResource CardCheckBox}" />
+
+
+
+
+
+
-
- 复选框标题
- Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统
-
-
+ Content="Windows"
+ IsChecked="True"
+ Theme="{DynamicResource PureCardCheckBox}" />
-
- 复选框标题
- Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统
-
-
+ Theme="{DynamicResource PureCardCheckBox}" />
-
- 复选框标题
- Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统
-
-
-
-
-
-
-
- 复选框标题
- Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统
-
-
-
-
- 复选框标题
- Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统
-
-
+ Theme="{DynamicResource PureCardCheckBox}" />
-
- 复选框标题
- Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统
-
-
-
-
+ Theme="{DynamicResource PureCardCheckBox}" />
-
- 复选框标题
- Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统
-
-
-
-
- 复选框标题
- Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统
-
-
-
-
- 复选框标题
- Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统
-
-
+ Theme="{DynamicResource PureCardCheckBox}" />
+
diff --git a/demo/Semi.Avalonia.Demo/Pages/ComboBoxDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/ComboBoxDemo.axaml
index c73cc17..6fccb90 100644
--- a/demo/Semi.Avalonia.Demo/Pages/ComboBoxDemo.axaml
+++ b/demo/Semi.Avalonia.Demo/Pages/ComboBoxDemo.axaml
@@ -9,45 +9,59 @@
mc:Ignorable="d">
- AAA
- BBB
- CCC
+ Ding
+ Otter
+ Husky
+ Mr. 17
+ Cass
- AAA
- BBB
- CCC
+ Ding
+ Otter
+ Husky
+ Mr. 17
+ Cass
- AAA
- BBB
- CCC
+ Ding
+ Otter
+ Husky
+ Mr. 17
+ Cass
- AAA
- BBB
- CCC
+ Ding
+ Otter
+ Husky
+ Mr. 17
+ Cass
- AAA
- BBB
- CCC
+ Ding
+ Otter
+ Husky
+ Mr. 17
+ Cass
- AAA
- BBB
- CCC
+ Ding
+ Otter
+ Husky
+ Mr. 17
+ Cass
- AAA
- BBB
- CCC
+ Ding
+ Otter
+ Husky
+ Mr. 17
+ Cass
diff --git a/demo/Semi.Avalonia.Demo/Pages/DataGridDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/DataGridDemo.axaml
index 44729f3..5a36e71 100644
--- a/demo/Semi.Avalonia.Demo/Pages/DataGridDemo.axaml
+++ b/demo/Semi.Avalonia.Demo/Pages/DataGridDemo.axaml
@@ -5,122 +5,95 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="using:Semi.Avalonia.Demo.Pages"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:vm="clr-namespace:Semi.Avalonia.Demo.ViewModels;assembly=Semi.Avalonia.Demo"
d:DesignHeight="450"
d:DesignWidth="800"
+ x:CompileBindings="True"
+ x:DataType="vm:DataGridDemoViewModel"
mc:Ignorable="d">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ x:DataType="vm:Song"
+ Binding="{Binding Title}"
+ Header="Title" />
+ Width="6*"
+ x:DataType="vm:Song"
+ Binding="{Binding Artist}"
+ Header="Artist" />
-
-
+ Width="6*"
+ x:DataType="vm:Song"
+ Binding="{Binding Album}"
+ Header="Album" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
+
-
+ Margin="8"
+ ItemsSource="{Binding GridData3}">
-
-
-
+
+
+
+
+ Text="{Binding CountOfComment}" />
@@ -174,17 +151,14 @@
+ Value="{Binding CountOfComment}" />
+
+
+
+ Classes
+ H1
+ H2
+ H3
+ H4
+ H5
+ H6
+
+ Header 1
+
+
+ Header 2
+
+
+ Header 3
+
+
+ Header 4
+
+
+ Header 5
+
+
+ Header 6
+
+
- Text
- Secondary
- Tertiary
- Quaternary
- Warning
- Warning disabled
- Danger
- Success
- Disabled
- Default Mark
- Underline
- Delete
- Underline and Delete
+
-
- Styles for Label
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/demo/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml
index 4cbba96..9abc6b3 100644
--- a/demo/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml
+++ b/demo/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml
@@ -4,53 +4,79 @@
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:models="using:Semi.Avalonia.Demo.Pages"
xmlns:vm="clr-namespace:Semi.Avalonia.Demo.Pages"
d:DesignHeight="450"
d:DesignWidth="800"
x:CompileBindings="True"
x:DataType="vm:TreeViewVm"
mc:Ignorable="d">
-
-
-
-
-
-
-
-
-
-
-
-
-
- Layer 1
- Layer 2
- Layer 3
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Layer 1
+ Layer 2
+ Layer 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/demo/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml.cs b/demo/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml.cs
index 1bd90f7..6674925 100644
--- a/demo/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml.cs
+++ b/demo/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml.cs
@@ -19,6 +19,8 @@ public class TreeViewVm : ObservableObject
{
public ObservableCollection Items { get; set; }
+ public ObservableCollection? MultipleLevelItems { get; set; }
+
public TreeViewVm()
{
Items = new ObservableCollection()
@@ -33,6 +35,25 @@ public class TreeViewVm : ObservableObject
},
},
};
+
+ MultipleLevelItems = new();
+ for (int i = 1; i < 6; i++)
+ {
+ FirstItem firstItem = new FirstItem { Id = i, Name = $"FirstItem {i}" };
+ firstItem.SecondItems = new();
+ for (int j = 1; j < 6; j++)
+ {
+ SecondItem secondItem = new SecondItem { Id = j, Name = $"SecondItem {j}" };
+ secondItem.ThirdItemItems = new();
+ for (int k = 1; k < 6; k++)
+ {
+ ThirdItem thirdItem = new ThirdItem { Id = k, Name = $"ThirdItem {k}" };
+ secondItem.ThirdItemItems.Add(thirdItem);
+ }
+ firstItem.SecondItems.Add(secondItem);
+ }
+ MultipleLevelItems.Add(firstItem);
+ }
}
}
@@ -41,4 +62,25 @@ public partial class TreeViewItemVm : ObservableObject
public ObservableCollection Items { get; set; }
public string Name { get; set; }
public string Id { get; set; }
-}
\ No newline at end of file
+}
+
+public class ItemBase
+{
+ public int Id { get; set; }
+ public string? Name { get; set; }
+}
+public class FirstItem : ItemBase
+{
+ public ObservableCollection? SecondItems { get; set; }
+}
+public class SecondItem : ItemBase
+{
+ public ObservableCollection? ThirdItemItems { get; set; }
+
+}
+public class ThirdItem : ItemBase
+{
+}
+
+
+
diff --git a/demo/Semi.Avalonia.Demo/ViewModels/DataGridDemoViewModel.cs b/demo/Semi.Avalonia.Demo/ViewModels/DataGridDemoViewModel.cs
new file mode 100644
index 0000000..a459d39
--- /dev/null
+++ b/demo/Semi.Avalonia.Demo/ViewModels/DataGridDemoViewModel.cs
@@ -0,0 +1,153 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using Avalonia.Collections;
+using CommunityToolkit.Mvvm.ComponentModel;
+
+namespace Semi.Avalonia.Demo.ViewModels;
+
+public class DataGridDemoViewModel: ObservableObject
+{
+ public ObservableCollection GridData1 { get; set; }
+
+ public DataGridCollectionView GridData2 { get; set; }
+
+ public ObservableCollection GridData3 { get; set; }
+
+ public DataGridDemoViewModel()
+ {
+ GridData1 = new ObservableCollection(Song.Songs);
+ GridData2 = new DataGridCollectionView(Song.Songs);
+ GridData2.GroupDescriptions.Add(new DataGridPathGroupDescription("Album"));
+ GridData3 = new ObservableCollection(Song.Songs.Take(10).Select(a=>new SongViewModel()
+ {
+ Title = a.Title,
+ Artist = a.Artist,
+ Album = a.Album,
+ CountOfComment = a.CountOfComment,
+ IsSelected = false
+ }));
+ }
+}
+
+public class Song
+{
+ public string? Title { get; set; }
+ public string? Artist { get; set; }
+ public TimeSpan? Duration { get; set; }
+ public string? Album { get; set; }
+ public int CountOfComment { get; set; }
+ public string Url { get; set; }
+
+ public Song(string title, string artist, int m, int s, string album, int countOfComment, int netEaseId)
+ {
+ Title = title;
+ Artist = artist;
+ Duration = new TimeSpan(0, m, s);
+ Album = album;
+ CountOfComment = countOfComment;
+ Url = $"https://music.163.com/song?id={netEaseId}";
+
+ }
+
+ public static List Songs { get; set; } = new List()
+ {
+ new("好肚有肚(feat.李玲玉)", "熊猫堂ProducePandas", 2, 50, "A.S.I.A", 730, 1487039339),
+ new("荒诞秀", "熊猫堂ProducePandas", 3, 15, "A.S.I.A", 639, 1487037601),
+ new("长大", "熊猫堂ProducePandas", 4, 6, "A.S.I.A", 1114, 1487037690),
+ new("招财猫(feat.纪粹希(G-Tracy))", "熊猫堂ProducePandas", 3, 37, "A.S.I.A", 361, 1487039632),
+ new("千转", "熊猫堂ProducePandas", 4, 0, "A.S.I.A", 1115, 1477312398),
+ new("辣辣辣", "熊猫堂ProducePandas", 3, 24, "A.S.I.A", 1873, 1465043716),
+ new("碎碎念", "熊猫堂ProducePandas", 3, 25, "A.S.I.A", 676, 1474142064),
+ new("盘他", "熊猫堂ProducePandas", 2, 16, "A.S.I.A", 365, 1481652786),
+ new("Na Na Na", "熊猫堂ProducePandas", 3, 26, "A.S.I.A", 312, 1469022662),
+ new("Indigo", "熊猫堂ProducePandas", 3, 15, "A.S.I.A", 137, 1487039517),
+ new("饕餮人间", "熊猫堂ProducePandas", 3, 20, "饕餮人间", 1295, 1499584605),
+ new("七步咙咚呛", "熊猫堂ProducePandas", 3, 10, "七步咙咚呛", 175, 1809095152),
+ new("大惊小怪", "熊猫堂ProducePandas", 3, 32, "大惊小怪", 10420, 1847477425),
+ new("工具人", "熊猫堂ProducePandas", 2, 46, "大惊小怪", 1135, 1847476499),
+ new("以梦为马", "熊猫堂ProducePandas", 4, 19, "大惊小怪", 18361, 1836034373),
+ new("以梦为马(Piano Version)", "熊猫堂ProducePandas", 3, 4, "大惊小怪", 570, 1847477423),
+ new("The ONE", "熊猫堂ProducePandas", 2, 58, "The ONE", 1508, 1864329424),
+ new("The ONE(日文版)", "熊猫堂ProducePandas", 2, 57, "The ONE", 385, 1864329429),
+ new("以梦为马 (壮志骄阳版)", "熊猫堂ProducePandas", 4, 19, "以梦为马 (壮志骄阳版)", 161, 1865138896),
+ new("New Horse", "熊猫堂ProducePandas", 2, 30, "emo了", 643, 1887021307),
+ new("不例外", "熊猫堂ProducePandas", 3, 31, "emo了", 1818, 1887022665),
+ new("满意", "熊猫堂ProducePandas", 4, 32, "emo了", 1081, 1882433472),
+ new("就算与全世界为敌也要跟你在一起", "熊猫堂ProducePandas", 3, 32, "emo了", 2119, 1881759960),
+ new("The ONE", "熊猫堂ProducePandas", 2, 58, "emo了", 67, 1887022648),
+ new("口香糖", "熊猫堂ProducePandas", 3, 10, "emo了", 2181, 1885502254),
+ new("Suuuuuuper Mario", "熊猫堂ProducePandas", 3, 32, "emo了", 1010, 1887021318),
+ new("饕餮人间", "熊猫堂ProducePandas", 3, 22, "emo了", 109, 1887021320),
+ new("以梦为马 (壮志骄阳版)", "熊猫堂ProducePandas", 4, 21, "emo了", 34, 1887022666),
+ new("The ONE(日文版)", "熊猫堂ProducePandas", 2, 57, "emo了", 27, 1887022646),
+ new("满意(DJheap九天版)", "熊猫堂ProducePandas", 4, 31, "emo了", 31, 1901605941),
+ new("一眼万年", "熊猫堂ProducePandas", 3, 54, "一眼万年", 20, 1922599361),
+ new("冲刺", "熊猫堂ProducePandas", 3, 49, "冲刺吧", 1006, 1932878194),
+ new("滴答滴", "熊猫堂ProducePandas", 2, 30, "爱的赏味期限", 86, 1957515790),
+ new("热带季风", "熊猫堂ProducePandas", 2, 45, "爱的赏味期限", 212, 1957514964),
+ new("渣", "熊猫堂ProducePandas", 3, 28, "爱的赏味期限", 22, 1957514965),
+ new("独特", "熊猫堂ProducePandas", 3, 33, "爱的赏味期限", 62, 1957514966),
+ new("雨后", "熊猫堂ProducePandas", 4, 15, "爱的赏味期限", 23, 1957514967),
+ new("然后然后", "熊猫堂ProducePandas", 3, 50, "爱的赏味期限", 108, 1957514968),
+ new("丢", "熊猫堂ProducePandas", 3, 26, "爱的赏味期限", 30, 1957515792),
+ new("热带疾风(FACEVOID桃心连哥 Remix)", "熊猫堂ProducePandas", 3, 23, "爱的赏味期限", 55, 1957515793),
+ new("COSMIC ANTHEM -Japanese Ver.-", "熊猫堂ProducePandas", 3, 11, "COSMIC ANTHEM / 手紙", 0, 1977171493),
+ new("手紙 (「長大-You Raise Me Up-」-Japanese Ver.-)", "熊猫堂ProducePandas", 4, 11, "COSMIC ANTHEM / 手紙", 0,
+ 1977171494),
+ new("COSMIC ANTHEM -Chinese Ver.-", "熊猫堂ProducePandas", 3, 31, "COSMIC ANTHEM / 手紙", 0, 1977172202),
+ new("世界晚安", "熊猫堂ProducePandas", 2, 59, "世界晚安", 652, 1985063377),
+ new("世界晚安(泰文版)", "熊猫堂ProducePandas", 2, 59, "世界晚安", 134, 1987842504),
+ new("世界晚安(钢琴版)", "熊猫堂ProducePandas", 3, 2, "世界晚安", 76, 1990475933),
+ new("世界晚安(泰文钢琴版)", "熊猫堂ProducePandas", 3, 2, "世界晚安", 29, 1990475934),
+ new("世界晚安(DJ沈念版)", "熊猫堂ProducePandas", 3, 9, "世界晚安", 34, 2014263184),
+ new("世界晚安(钢琴配乐)", "熊猫堂ProducePandas", 2, 59, "世界晚安", 11, 2014263185),
+ new("明年也要好好长大", "熊猫堂ProducePandas", 3, 12, "明年也要好好长大", 0, 2010515162),
+ new("320万年前(DJ沈念版)", "熊猫堂ProducePandas", 3, 21, "320万年前", 8, 2055888636),
+ new("320万年前", "熊猫堂ProducePandas", 3, 7, "W.O.R.L.D.", 329, 2049770469),
+ new("隐德来希", "熊猫堂ProducePandas", 3, 3, "W.O.R.L.D.", 594, 2061317924),
+ new("孔明", "熊猫堂ProducePandas", 3, 59, "W.O.R.L.D.", 91, 2063175274),
+ new("锦鲤卟噜噜", "熊猫堂ProducePandas", 3, 5, "W.O.R.L.D.", 67, 2059208262),
+ new("指鹿为马", "熊猫堂ProducePandas", 3, 12, "W.O.R.L.D.", 74, 2063175272),
+ new("热带季风Remix", "熊猫堂ProducePandas", 3, 22, "W.O.R.L.D.", 23, 2063173319),
+ new("加州梦境", "熊猫堂ProducePandas", 2, 56, "W.O.R.L.D.", 1662, 2063173324),
+ new("渐进自由", "熊猫堂ProducePandas", 4, 19, "W.O.R.L.D.", 124, 2063173321),
+ new("世界所有的烂漫", "熊猫堂ProducePandas", 3, 30, "W.O.R.L.D.", 335, 2053388775),
+ };
+}
+
+public class SongViewModel: ObservableObject
+{
+ private string? _title;
+ private string? _artist;
+ private string? _album;
+ private int _countOfComment;
+ private bool? _isSelected;
+ public string? Title
+ {
+ get => _title;
+ set => SetProperty(ref _title, value);
+ }
+ public string? Artist
+ {
+ get => _artist;
+ set => SetProperty(ref _artist, value);
+ }
+ public string? Album
+ {
+ get => _album;
+ set => SetProperty(ref _album, value);
+ }
+ public int CountOfComment
+ {
+ get => _countOfComment;
+ set => SetProperty(ref _countOfComment, value);
+ }
+ public bool? IsSelected
+ {
+ get => _isSelected;
+ set => SetProperty(ref _isSelected, value);
+ }
+
+}
\ 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 13b37f7..a87d488 100644
--- a/demo/Semi.Avalonia.Demo/Views/MainView.axaml
+++ b/demo/Semi.Avalonia.Demo/Views/MainView.axaml
@@ -159,6 +159,9 @@
+
+
+
diff --git a/demo/Semi.Avalonia.TreeDataGrid.Demo/App.axaml b/demo/Semi.Avalonia.TreeDataGrid.Demo/App.axaml
new file mode 100644
index 0000000..3cd62a8
--- /dev/null
+++ b/demo/Semi.Avalonia.TreeDataGrid.Demo/App.axaml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/demo/Semi.Avalonia.Demo.Desktop/App.axaml.cs b/demo/Semi.Avalonia.TreeDataGrid.Demo/App.axaml.cs
similarity index 84%
rename from demo/Semi.Avalonia.Demo.Desktop/App.axaml.cs
rename to demo/Semi.Avalonia.TreeDataGrid.Demo/App.axaml.cs
index e70ba74..c4d36b3 100644
--- a/demo/Semi.Avalonia.Demo.Desktop/App.axaml.cs
+++ b/demo/Semi.Avalonia.TreeDataGrid.Demo/App.axaml.cs
@@ -1,10 +1,8 @@
using Avalonia;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Markup.Xaml;
-using Avalonia.Styling;
-using Semi.Avalonia.Demo.Views;
-namespace Semi.Avalonia.Demo.Desktop;
+namespace Semi.Avalonia.TreeDataGrid.Demo;
public partial class App : Application
{
@@ -19,6 +17,7 @@ public partial class App : Application
{
desktop.MainWindow = new MainWindow();
}
+
base.OnFrameworkInitializationCompleted();
}
}
\ No newline at end of file
diff --git a/demo/Semi.Avalonia.TreeDataGrid.Demo/Converters/FileIconConverter.cs b/demo/Semi.Avalonia.TreeDataGrid.Demo/Converters/FileIconConverter.cs
new file mode 100644
index 0000000..0ed4943
--- /dev/null
+++ b/demo/Semi.Avalonia.TreeDataGrid.Demo/Converters/FileIconConverter.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.Globalization;
+using Avalonia;
+using Avalonia.Data.Converters;
+using Avalonia.Media;
+using Avalonia.Metadata;
+
+namespace Semi.Avalonia.TreeDataGrid.Demo.Converters;
+
+public class FileIconConverter: IMultiValueConverter
+{
+ [Content]
+ public Dictionary Items { get; set; } = new Dictionary();
+
+ public object? Convert(IList values, Type targetType, object? parameter, CultureInfo culture)
+ {
+ if (values[0] is bool isDirectory && values[1] is bool isOpen)
+ {
+ if (!isDirectory)
+ {
+ return Items["file"];
+ }
+ return isOpen ? Items["folderOpen"] : Items["folderClosed"];
+ }
+ return AvaloniaProperty.UnsetValue;
+ }
+}
\ No newline at end of file
diff --git a/demo/Semi.Avalonia.TreeDataGrid.Demo/MainWindow.axaml b/demo/Semi.Avalonia.TreeDataGrid.Demo/MainWindow.axaml
new file mode 100644
index 0000000..32c5e1d
--- /dev/null
+++ b/demo/Semi.Avalonia.TreeDataGrid.Demo/MainWindow.axaml
@@ -0,0 +1,138 @@
+
+
+
+ M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M18,20H6V4H13V9H18V20Z
+ M6.1,10L4,18V8H21A2,2 0 0,0 19,6H12L10,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H19C19.9,20 20.7,19.4 20.9,18.5L23.2,10H6.1M19,18H6L7.6,12H20.6L19,18Z
+ M20,18H4V8H20M20,6H12L10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6Z
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/demo/Semi.Avalonia.TreeDataGrid.Demo/MainWindow.axaml.cs b/demo/Semi.Avalonia.TreeDataGrid.Demo/MainWindow.axaml.cs
new file mode 100644
index 0000000..002823f
--- /dev/null
+++ b/demo/Semi.Avalonia.TreeDataGrid.Demo/MainWindow.axaml.cs
@@ -0,0 +1,36 @@
+using Avalonia;
+using Avalonia.Controls;
+using Avalonia.Input;
+using Avalonia.Interactivity;
+using Avalonia.Styling;
+using Semi.Avalonia.TreeDataGrid.Demo.ViewModels;
+
+namespace Semi.Avalonia.TreeDataGrid.Demo;
+
+public partial class MainWindow : Window
+{
+ public MainWindow()
+ {
+ InitializeComponent();
+ this.DataContext = new MainViewModel();
+ }
+
+ private void Button_OnClick(object? sender, RoutedEventArgs e)
+ {
+ var app = Application.Current;
+ if (app is not null)
+ {
+ var theme = app.ActualThemeVariant;
+ app.RequestedThemeVariant = theme == ThemeVariant.Dark ? ThemeVariant.Light : ThemeVariant.Dark;
+ }
+ }
+
+ private void SelectedPath_KeyDown(object? sender, KeyEventArgs e)
+ {
+ if (e.Key == Key.Enter)
+ {
+ var vm = (MainViewModel)DataContext!;
+ vm.FilesContext.SelectedPath = ((TextBox)sender!).Text;
+ }
+ }
+}
\ No newline at end of file
diff --git a/demo/Semi.Avalonia.TreeDataGrid.Demo/Program.cs b/demo/Semi.Avalonia.TreeDataGrid.Demo/Program.cs
new file mode 100644
index 0000000..b71cf5e
--- /dev/null
+++ b/demo/Semi.Avalonia.TreeDataGrid.Demo/Program.cs
@@ -0,0 +1,21 @@
+using Avalonia;
+using System;
+
+namespace Semi.Avalonia.TreeDataGrid.Demo;
+
+class Program
+{
+ // Initialization code. Don't use any Avalonia, third-party APIs or any
+ // SynchronizationContext-reliant code before AppMain is called: things aren't initialized
+ // yet and stuff might break.
+ [STAThread]
+ public static void Main(string[] args) => BuildAvaloniaApp()
+ .StartWithClassicDesktopLifetime(args);
+
+ // Avalonia configuration, don't remove; also used by visual designer.
+ public static AppBuilder BuildAvaloniaApp()
+ => AppBuilder.Configure()
+ .UsePlatformDetect()
+ .WithInterFont()
+ .LogToTrace();
+}
\ No newline at end of file
diff --git a/demo/Semi.Avalonia.TreeDataGrid.Demo/Semi.Avalonia.TreeDataGrid.Demo.csproj b/demo/Semi.Avalonia.TreeDataGrid.Demo/Semi.Avalonia.TreeDataGrid.Demo.csproj
new file mode 100644
index 0000000..3dda989
--- /dev/null
+++ b/demo/Semi.Avalonia.TreeDataGrid.Demo/Semi.Avalonia.TreeDataGrid.Demo.csproj
@@ -0,0 +1,27 @@
+
+
+ WinExe
+ net6.0
+ enable
+ true
+ app.manifest
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/demo/Semi.Avalonia.TreeDataGrid.Demo/ViewModels/FilesPageViewModel.cs b/demo/Semi.Avalonia.TreeDataGrid.Demo/ViewModels/FilesPageViewModel.cs
new file mode 100644
index 0000000..3349363
--- /dev/null
+++ b/demo/Semi.Avalonia.TreeDataGrid.Demo/ViewModels/FilesPageViewModel.cs
@@ -0,0 +1,399 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices;
+using Avalonia.Controls;
+using Avalonia.Controls.Models.TreeDataGrid;
+using Avalonia.Controls.Selection;
+using Avalonia.Threading;
+using CommunityToolkit.Mvvm.ComponentModel;
+
+namespace Semi.Avalonia.TreeDataGrid.Demo.ViewModels;
+
+public class FilesPageViewModel: ObservableObject
+{
+ public IList Drives { get; }
+ private string _selectedDrive;
+ private string? _selectedPath;
+ private FileNodeViewModel? _root;
+ public string SelectedDrive
+ {
+ get => _selectedDrive;
+ set
+ {
+ SetProperty(ref _selectedDrive, value);
+ _root = new FileNodeViewModel(_selectedDrive, isDirectory: true, isRoot: true);
+ Source.Items = new[] { _root };
+ }
+ }
+
+ public string? SelectedPath
+ {
+ get => _selectedPath;
+ set => SetSelectedPath(value);
+ }
+
+ public HierarchicalTreeDataGridSource Source { get; }
+
+ public FilesPageViewModel()
+ {
+ Drives= DriveInfo.GetDrives().Select(x => x.Name).ToList();
+ if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
+ {
+ _selectedDrive = "C:\\";
+ }
+ else
+ {
+ _selectedDrive = Drives.FirstOrDefault() ?? "/";
+ }
+
+ Source = new HierarchicalTreeDataGridSource(Array.Empty())
+ {
+ Columns =
+ {
+ new CheckBoxColumn(
+ null,
+ x => x.IsChecked,
+ (o, v) => o.IsChecked = v,
+ options: new()
+ {
+ CanUserResizeColumn = false,
+ }),
+ new HierarchicalExpanderColumn(
+ new TemplateColumn(
+ "Name",
+ "FileNameCell",
+ "FileNameEditCell",
+ new GridLength(1, GridUnitType.Star),
+ new()
+ {
+ CompareAscending = FileNodeViewModel.SortAscending(x => x.Name),
+ CompareDescending = FileNodeViewModel.SortDescending(x => x.Name),
+ IsTextSearchEnabled = true,
+ TextSearchValueSelector = x => x.Name
+ }),
+ x => x.Children,
+ x => x.HasChildren,
+ x => x.IsExpanded),
+ new TextColumn(
+ "Size",
+ x => x.Size,
+ options: new()
+ {
+ CompareAscending = FileNodeViewModel.SortAscending(x => x.Size),
+ CompareDescending = FileNodeViewModel.SortDescending(x => x.Size),
+ }),
+ new TextColumn(
+ "Modified",
+ x => x.Modified,
+ options: new()
+ {
+ CompareAscending = FileNodeViewModel.SortAscending(x => x.Modified),
+ CompareDescending = FileNodeViewModel.SortDescending(x => x.Modified),
+ }),
+ }
+ };
+ Source.RowSelection!.SingleSelect = false;
+ Source.RowSelection.SelectionChanged += SelectionChanged;
+ }
+
+ private void SelectionChanged(object? sender, TreeSelectionModelSelectionChangedEventArgs e)
+ {
+ var selectedPath = Source.RowSelection?.SelectedItem?.Path;
+ this.SetProperty(ref _selectedPath, selectedPath, nameof(SelectedPath));
+
+ foreach (var i in e.DeselectedItems)
+ System.Diagnostics.Trace.WriteLine($"Deselected '{i?.Path}'");
+ foreach (var i in e.SelectedItems)
+ System.Diagnostics.Trace.WriteLine($"Selected '{i?.Path}'");
+ }
+
+ private void SetSelectedPath(string? value)
+ {
+ if (string.IsNullOrEmpty(value))
+ {
+ Source.RowSelection!.Clear();
+ return;
+ }
+
+ var path = value;
+ var components = new Stack();
+ DirectoryInfo? d = null;
+
+ if (File.Exists(path))
+ {
+ var f = new FileInfo(path);
+ components.Push(f.Name);
+ d = f.Directory;
+ }
+ else if (Directory.Exists(path))
+ {
+ d = new DirectoryInfo(path);
+ }
+
+ while (d is not null)
+ {
+ components.Push(d.Name);
+ d = d.Parent;
+ }
+
+ var index = IndexPath.Unselected;
+
+ if (components.Count > 0)
+ {
+ var drive = components.Pop();
+ var driveIndex = Drives.FindIndex(x => string.Equals(x, drive, StringComparison.OrdinalIgnoreCase));
+
+ if (driveIndex >= 0)
+ SelectedDrive = Drives[driveIndex];
+
+ FileNodeViewModel? node = _root;
+ index = new IndexPath(0);
+
+ while (node is not null && components.Count > 0)
+ {
+ node.IsExpanded = true;
+
+ var component = components.Pop();
+ var i = node.Children.FindIndex(x => string.Equals(x.Name, component, StringComparison.OrdinalIgnoreCase));
+ node = i >= 0 ? node.Children[i] : null;
+ index = i >= 0 ? index.Append(i) : default;
+ }
+ }
+
+ Source.RowSelection!.SelectedIndex = index;
+ }
+}
+
+public class FileNodeViewModel: ObservableObject, IEditableObject
+{
+ private string _path;
+ private string _name;
+ private string? _undoName;
+ private long? _size;
+ private DateTimeOffset? _modified;
+ private FileSystemWatcher? _watcher;
+ private ObservableCollection? _children;
+ private bool _hasChildren = true;
+ private bool _isExpanded;
+
+ public FileNodeViewModel( string path, bool isDirectory, bool isRoot = false)
+ {
+ _path = path;
+ _name = isRoot ? path : System.IO.Path.GetFileName(Path);
+ _isExpanded = isRoot;
+ IsDirectory = isDirectory;
+ HasChildren = isDirectory;
+
+ if (!isDirectory)
+ {
+ var info = new FileInfo(path);
+ Size = info.Length;
+ Modified = info.LastWriteTimeUtc;
+ }
+ }
+
+ public string Path
+ {
+ get => _path;
+ private set => SetProperty(ref _path, value);
+ }
+
+ public string Name
+ {
+ get => _name;
+ private set => SetProperty(ref _name, value);
+ }
+
+ public long? Size
+ {
+ get => _size;
+ private set => SetProperty(ref _size, value);
+ }
+
+ public DateTimeOffset? Modified
+ {
+ get => _modified;
+ private set => SetProperty(ref _modified, value);
+ }
+
+ public bool HasChildren
+ {
+ get => _hasChildren;
+ private set => SetProperty(ref _hasChildren, value);
+ }
+
+ public bool IsExpanded
+ {
+ get => _isExpanded;
+ set => SetProperty(ref _isExpanded, value);
+ }
+
+ public bool IsChecked { get; set; }
+ public bool IsDirectory { get; }
+ public IReadOnlyList Children => _children ??= LoadChildren();
+
+ private ObservableCollection LoadChildren()
+ {
+ if (!IsDirectory)
+ {
+ throw new NotSupportedException();
+ }
+
+ var options = new EnumerationOptions { IgnoreInaccessible = true };
+ var result = new ObservableCollection();
+
+ foreach (var d in Directory.EnumerateDirectories(Path, "*", options))
+ {
+ result.Add(new FileNodeViewModel(d, true));
+ }
+
+ foreach (var f in Directory.EnumerateFiles(Path, "*", options))
+ {
+ result.Add(new FileNodeViewModel(f, false));
+ }
+
+ _watcher = new FileSystemWatcher
+ {
+ Path = Path,
+ NotifyFilter = NotifyFilters.FileName | NotifyFilters.Size | NotifyFilters.LastWrite,
+ };
+
+ _watcher.Changed += OnChanged;
+ _watcher.Created += OnCreated;
+ _watcher.Deleted += OnDeleted;
+ _watcher.Renamed += OnRenamed;
+ _watcher.EnableRaisingEvents = true;
+
+ if (result.Count == 0)
+ HasChildren = false;
+
+ return result;
+ }
+
+ public static Comparison SortAscending(Func selector)
+ {
+ return (x, y) =>
+ {
+ if (x is null && y is null)
+ return 0;
+ else if (x is null)
+ return -1;
+ else if (y is null)
+ return 1;
+ if (x.IsDirectory == y.IsDirectory)
+ return Comparer.Default.Compare(selector(x), selector(y));
+ else if (x.IsDirectory)
+ return -1;
+ else
+ return 1;
+ };
+ }
+
+ public static Comparison SortDescending(Func selector)
+ {
+ return (x, y) =>
+ {
+ if (x is null && y is null)
+ return 0;
+ else if (x is null)
+ return 1;
+ else if (y is null)
+ return -1;
+ if (x.IsDirectory == y.IsDirectory)
+ return Comparer.Default.Compare(selector(y), selector(x));
+ else if (x.IsDirectory)
+ return -1;
+ else
+ return 1;
+ };
+ }
+
+ void IEditableObject.BeginEdit() => _undoName = _name;
+ void IEditableObject.CancelEdit() => _name = _undoName!;
+ void IEditableObject.EndEdit() => _undoName = null;
+
+ private void OnChanged(object sender, FileSystemEventArgs e)
+ {
+ if (e.ChangeType == WatcherChangeTypes.Changed && File.Exists(e.FullPath))
+ {
+ Dispatcher.UIThread.Post(() =>
+ {
+ foreach (var child in _children!)
+ {
+ if (child.Path == e.FullPath)
+ {
+ if (!child.IsDirectory)
+ {
+ var info = new FileInfo(e.FullPath);
+ child.Size = info.Length;
+ child.Modified = info.LastWriteTimeUtc;
+ }
+ break;
+ }
+ }
+ });
+ }
+ }
+
+ private void OnCreated(object sender, FileSystemEventArgs e)
+ {
+ Dispatcher.UIThread.Post(() =>
+ {
+ var node = new FileNodeViewModel(
+ e.FullPath,
+ File.GetAttributes(e.FullPath).HasFlag(FileAttributes.Directory));
+ _children!.Add(node);
+ });
+ }
+
+ private void OnDeleted(object sender, FileSystemEventArgs e)
+ {
+ Dispatcher.UIThread.Post(() =>
+ {
+ for (var i = 0; i < _children!.Count; ++i)
+ {
+ if (_children[i].Path == e.FullPath)
+ {
+ _children.RemoveAt(i);
+ System.Diagnostics.Debug.WriteLine($"Removed {e.FullPath}");
+ break;
+ }
+ }
+ });
+ }
+
+ private void OnRenamed(object sender, RenamedEventArgs e)
+ {
+ Dispatcher.UIThread.Post(() =>
+ {
+ foreach (var child in _children!)
+ {
+ if (child.Path == e.OldFullPath)
+ {
+ child.Path = e.FullPath;
+ child.Name = e.Name ?? string.Empty;
+ break;
+ }
+ }
+ });
+ }
+}
+
+internal static class ListExtensions
+{
+ public static int FindIndex(this IEnumerable source, Func predicate)
+ {
+ int i = 0;
+ foreach (var item in source)
+ {
+ if (predicate(item))
+ return i;
+ i++;
+ }
+ return -1;
+ }
+}
\ No newline at end of file
diff --git a/demo/Semi.Avalonia.TreeDataGrid.Demo/ViewModels/MainViewModel.cs b/demo/Semi.Avalonia.TreeDataGrid.Demo/ViewModels/MainViewModel.cs
new file mode 100644
index 0000000..066bcb4
--- /dev/null
+++ b/demo/Semi.Avalonia.TreeDataGrid.Demo/ViewModels/MainViewModel.cs
@@ -0,0 +1,9 @@
+using CommunityToolkit.Mvvm.ComponentModel;
+
+namespace Semi.Avalonia.TreeDataGrid.Demo.ViewModels;
+
+public class MainViewModel: ObservableObject
+{
+ public SongsPageViewModel SongsContext { get; } = new();
+ public FilesPageViewModel FilesContext { get; } = new();
+}
\ No newline at end of file
diff --git a/demo/Semi.Avalonia.TreeDataGrid.Demo/ViewModels/SongsPageViewModel.cs b/demo/Semi.Avalonia.TreeDataGrid.Demo/ViewModels/SongsPageViewModel.cs
new file mode 100644
index 0000000..2e91e43
--- /dev/null
+++ b/demo/Semi.Avalonia.TreeDataGrid.Demo/ViewModels/SongsPageViewModel.cs
@@ -0,0 +1,184 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using Avalonia.Controls;
+using Avalonia.Controls.Models.TreeDataGrid;
+using CommunityToolkit.Mvvm.ComponentModel;
+
+namespace Semi.Avalonia.TreeDataGrid.Demo.ViewModels;
+
+public class SongsPageViewModel: ObservableObject
+{
+ private readonly ObservableCollection _songs;
+
+ public FlatTreeDataGridSource Songs { get; }
+
+ public SongsPageViewModel()
+ {
+ _songs = new ObservableCollection(Song.Songs.Select(a => new SongViewModel()
+ {
+ Title = a.Title, Artist = a.Artist, Album = a.Album, CountOfComment = a.CountOfComment,
+ IsSelected = false
+ }));
+
+ Songs = new FlatTreeDataGridSource(_songs)
+ {
+ Columns =
+ {
+ new CheckBoxColumn("IsSelected", a => a.IsSelected,
+ (model, b) => { model.IsSelected = b; }, new GridLength(108, GridUnitType.Pixel)),
+ new TextColumn("Title", a => a.Title, (o, a) => o.Title = a,
+ new GridLength(6, GridUnitType.Star)),
+ new TextColumn("Artist", a => a.Artist, (o, a) => o.Artist = a,
+ new GridLength(6, GridUnitType.Star)),
+ new TemplateColumn("Album", "AlbumCell", "AlbumEditCell",
+ new GridLength(6, GridUnitType.Star)),
+ new TemplateColumn("Comments", "CommentsCell", "CommentsEditCell",
+ new GridLength(6, GridUnitType.Star)),
+ }
+ };
+ }
+
+}
+
+
+public class Song
+{
+ public string? Title { get; set; }
+ public string? Artist { get; set; }
+ public TimeSpan? Duration { get; set; }
+ public string? Album { get; set; }
+ public int? CountOfComment { get; set; }
+ public string Url { get; set; }
+
+ public Song(string title, string artist, int m, int s, string album, int countOfComment, int netEaseId)
+ {
+ Title = title;
+ Artist = artist;
+ Duration = new TimeSpan(0, m, s);
+ Album = album;
+ CountOfComment = countOfComment;
+ Url = $"https://music.163.com/song?id={netEaseId}";
+
+ }
+
+ public static List Albums { get; set; } = new List()
+ {
+ "A.S.I.A",
+ "饕餮人间",
+ "七步咙咚呛",
+ "大惊小怪",
+ "The ONE",
+ "以梦为马 (壮志骄阳版)",
+ "emo了",
+ "一眼万年",
+ "冲刺吧",
+ "爱的赏味期限",
+ "COSMIC ANTHEM / 手紙",
+ "世界晚安",
+ "明年也要好好长大",
+ "320万年前",
+ "W.O.R.L.D.",
+ };
+
+ public static List Songs { get; set; } = new List()
+ {
+ new("好肚有肚(feat.李玲玉)", "熊猫堂ProducePandas", 2, 50, "A.S.I.A", 730, 1487039339),
+ new("荒诞秀", "熊猫堂ProducePandas", 3, 15, "A.S.I.A", 639, 1487037601),
+ new("长大", "熊猫堂ProducePandas", 4, 6, "A.S.I.A", 1114, 1487037690),
+ new("招财猫(feat.纪粹希(G-Tracy))", "熊猫堂ProducePandas", 3, 37, "A.S.I.A", 361, 1487039632),
+ new("千转", "熊猫堂ProducePandas", 4, 0, "A.S.I.A", 1115, 1477312398),
+ new("辣辣辣", "熊猫堂ProducePandas", 3, 24, "A.S.I.A", 1873, 1465043716),
+ new("碎碎念", "熊猫堂ProducePandas", 3, 25, "A.S.I.A", 676, 1474142064),
+ new("盘他", "熊猫堂ProducePandas", 2, 16, "A.S.I.A", 365, 1481652786),
+ new("Na Na Na", "熊猫堂ProducePandas", 3, 26, "A.S.I.A", 312, 1469022662),
+ new("Indigo", "熊猫堂ProducePandas", 3, 15, "A.S.I.A", 137, 1487039517),
+ new("饕餮人间", "熊猫堂ProducePandas", 3, 20, "饕餮人间", 1295, 1499584605),
+ new("七步咙咚呛", "熊猫堂ProducePandas", 3, 10, "七步咙咚呛", 175, 1809095152),
+ new("大惊小怪", "熊猫堂ProducePandas", 3, 32, "大惊小怪", 10420, 1847477425),
+ new("工具人", "熊猫堂ProducePandas", 2, 46, "大惊小怪", 1135, 1847476499),
+ new("以梦为马", "熊猫堂ProducePandas", 4, 19, "大惊小怪", 18361, 1836034373),
+ new("以梦为马(Piano Version)", "熊猫堂ProducePandas", 3, 4, "大惊小怪", 570, 1847477423),
+ new("The ONE", "熊猫堂ProducePandas", 2, 58, "The ONE", 1508, 1864329424),
+ new("The ONE(日文版)", "熊猫堂ProducePandas", 2, 57, "The ONE", 385, 1864329429),
+ new("以梦为马 (壮志骄阳版)", "熊猫堂ProducePandas", 4, 19, "以梦为马 (壮志骄阳版)", 161, 1865138896),
+ new("New Horse", "熊猫堂ProducePandas", 2, 30, "emo了", 643, 1887021307),
+ new("不例外", "熊猫堂ProducePandas", 3, 31, "emo了", 1818, 1887022665),
+ new("满意", "熊猫堂ProducePandas", 4, 32, "emo了", 1081, 1882433472),
+ new("就算与全世界为敌也要跟你在一起", "熊猫堂ProducePandas", 3, 32, "emo了", 2119, 1881759960),
+ new("The ONE", "熊猫堂ProducePandas", 2, 58, "emo了", 67, 1887022648),
+ new("口香糖", "熊猫堂ProducePandas", 3, 10, "emo了", 2181, 1885502254),
+ new("Suuuuuuper Mario", "熊猫堂ProducePandas", 3, 32, "emo了", 1010, 1887021318),
+ new("饕餮人间", "熊猫堂ProducePandas", 3, 22, "emo了", 109, 1887021320),
+ new("以梦为马 (壮志骄阳版)", "熊猫堂ProducePandas", 4, 21, "emo了", 34, 1887022666),
+ new("The ONE(日文版)", "熊猫堂ProducePandas", 2, 57, "emo了", 27, 1887022646),
+ new("满意(DJheap九天版)", "熊猫堂ProducePandas", 4, 31, "emo了", 31, 1901605941),
+ new("一眼万年", "熊猫堂ProducePandas", 3, 54, "一眼万年", 20, 1922599361),
+ new("冲刺", "熊猫堂ProducePandas", 3, 49, "冲刺吧", 1006, 1932878194),
+ new("滴答滴", "熊猫堂ProducePandas", 2, 30, "爱的赏味期限", 86, 1957515790),
+ new("热带季风", "熊猫堂ProducePandas", 2, 45, "爱的赏味期限", 212, 1957514964),
+ new("渣", "熊猫堂ProducePandas", 3, 28, "爱的赏味期限", 22, 1957514965),
+ new("独特", "熊猫堂ProducePandas", 3, 33, "爱的赏味期限", 62, 1957514966),
+ new("雨后", "熊猫堂ProducePandas", 4, 15, "爱的赏味期限", 23, 1957514967),
+ new("然后然后", "熊猫堂ProducePandas", 3, 50, "爱的赏味期限", 108, 1957514968),
+ new("丢", "熊猫堂ProducePandas", 3, 26, "爱的赏味期限", 30, 1957515792),
+ new("热带疾风(FACEVOID桃心连哥 Remix)", "熊猫堂ProducePandas", 3, 23, "爱的赏味期限", 55, 1957515793),
+ new("COSMIC ANTHEM -Japanese Ver.-", "熊猫堂ProducePandas", 3, 11, "COSMIC ANTHEM / 手紙", 0, 1977171493),
+ new("手紙 (「長大-You Raise Me Up-」-Japanese Ver.-)", "熊猫堂ProducePandas", 4, 11, "COSMIC ANTHEM / 手紙", 0,
+ 1977171494),
+ new("COSMIC ANTHEM -Chinese Ver.-", "熊猫堂ProducePandas", 3, 31, "COSMIC ANTHEM / 手紙", 0, 1977172202),
+ new("世界晚安", "熊猫堂ProducePandas", 2, 59, "世界晚安", 652, 1985063377),
+ new("世界晚安(泰文版)", "熊猫堂ProducePandas", 2, 59, "世界晚安", 134, 1987842504),
+ new("世界晚安(钢琴版)", "熊猫堂ProducePandas", 3, 2, "世界晚安", 76, 1990475933),
+ new("世界晚安(泰文钢琴版)", "熊猫堂ProducePandas", 3, 2, "世界晚安", 29, 1990475934),
+ new("世界晚安(DJ沈念版)", "熊猫堂ProducePandas", 3, 9, "世界晚安", 34, 2014263184),
+ new("世界晚安(钢琴配乐)", "熊猫堂ProducePandas", 2, 59, "世界晚安", 11, 2014263185),
+ new("明年也要好好长大", "熊猫堂ProducePandas", 3, 12, "明年也要好好长大", 0, 2010515162),
+ new("320万年前(DJ沈念版)", "熊猫堂ProducePandas", 3, 21, "320万年前", 8, 2055888636),
+ new("320万年前", "熊猫堂ProducePandas", 3, 7, "W.O.R.L.D.", 329, 2049770469),
+ new("隐德来希", "熊猫堂ProducePandas", 3, 3, "W.O.R.L.D.", 594, 2061317924),
+ new("孔明", "熊猫堂ProducePandas", 3, 59, "W.O.R.L.D.", 91, 2063175274),
+ new("锦鲤卟噜噜", "熊猫堂ProducePandas", 3, 5, "W.O.R.L.D.", 67, 2059208262),
+ new("指鹿为马", "熊猫堂ProducePandas", 3, 12, "W.O.R.L.D.", 74, 2063175272),
+ new("热带季风Remix", "熊猫堂ProducePandas", 3, 22, "W.O.R.L.D.", 23, 2063173319),
+ new("加州梦境", "熊猫堂ProducePandas", 2, 56, "W.O.R.L.D.", 1662, 2063173324),
+ new("渐进自由", "熊猫堂ProducePandas", 4, 19, "W.O.R.L.D.", 124, 2063173321),
+ new("世界所有的烂漫", "熊猫堂ProducePandas", 3, 30, "W.O.R.L.D.", 335, 2053388775),
+ };
+}
+
+public class SongViewModel: ObservableObject
+{
+ private string? _title;
+ private string? _artist;
+ private string? _album;
+ private int? _countOfComment;
+ private bool? _isSelected;
+ public string? Title
+ {
+ get => _title;
+ set => SetProperty(ref _title, value);
+ }
+ public string? Artist
+ {
+ get => _artist;
+ set => SetProperty(ref _artist, value);
+ }
+ public string? Album
+ {
+ get => _album;
+ set => SetProperty(ref _album, value);
+ }
+ public int? CountOfComment
+ {
+ get => _countOfComment;
+ set => SetProperty(ref _countOfComment, value);
+ }
+ public bool? IsSelected
+ {
+ get => _isSelected;
+ set => SetProperty(ref _isSelected, value);
+ }
+
+}
\ No newline at end of file
diff --git a/demo/Semi.Avalonia.TreeDataGrid.Demo/app.manifest b/demo/Semi.Avalonia.TreeDataGrid.Demo/app.manifest
new file mode 100644
index 0000000..18ebc37
--- /dev/null
+++ b/demo/Semi.Avalonia.TreeDataGrid.Demo/app.manifest
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Semi.Avalonia.ColorPicker/Dark.axaml b/src/Semi.Avalonia.ColorPicker/Dark.axaml
index d60ed09..e96849e 100644
--- a/src/Semi.Avalonia.ColorPicker/Dark.axaml
+++ b/src/Semi.Avalonia.ColorPicker/Dark.axaml
@@ -1,8 +1,4 @@
-
-
+
@@ -11,39 +7,15 @@
- 600
- 16 4
- 70
-
- M6.92,19L5,17.08L13.06,9L15,10.94M20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L13.84,6.41L11.91,4.5L10.5,5.91L11.92,7.33L3,16.25V21H7.75L16.67,12.08L18.09,13.5L19.5,12.09L17.58,10.17L20.7,7.05C21.1,6.65 21.1,6 20.71,5.63Z
-
-
- M17.5,12A1.5,1.5 0 0,1 16,10.5A1.5,1.5 0 0,1 17.5,9A1.5,1.5 0 0,1 19,10.5A1.5,1.5 0 0,1 17.5,12M14.5,8A1.5,1.5 0 0,1 13,6.5A1.5,1.5 0 0,1 14.5,5A1.5,1.5 0 0,1 16,6.5A1.5,1.5 0 0,1 14.5,8M9.5,8A1.5,1.5 0 0,1 8,6.5A1.5,1.5 0 0,1 9.5,5A1.5,1.5 0 0,1 11,6.5A1.5,1.5 0 0,1 9.5,8M6.5,12A1.5,1.5 0 0,1 5,10.5A1.5,1.5 0 0,1 6.5,9A1.5,1.5 0 0,1 8,10.5A1.5,1.5 0 0,1 6.5,12M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A1.5,1.5 0 0,0 13.5,19.5C13.5,19.11 13.35,18.76 13.11,18.5C12.88,18.23 12.73,17.88 12.73,17.5A1.5,1.5 0 0,1 14.23,16H16A5,5 0 0,0 21,11C21,6.58 16.97,3 12,3Z
-
-
- M4 6.5C5.10457 6.5 6 5.60457 6 4.5C6 3.39543 5.10457 2.5 4 2.5C2.89543 2.5 2 3.39543 2 4.5C2 5.60457 2.89543 6.5 4 6.5ZM9.5 3C8.67157 3 8 3.67157 8 4.5C8 5.32843 8.67157 6 9.5 6H20.5C21.3284 6 22 5.32843 22 4.5C22 3.67157 21.3284 3 20.5 3H9.5ZM8 11.5C8 10.6716 8.67157 10 9.5 10H20.5C21.3284 10 22 10.6716 22 11.5C22 12.3284 21.3284 13 20.5 13H9.5C8.67157 13 8 12.3284 8 11.5ZM8 18.5C8 17.6716 8.67157 17 9.5 17H20.5C21.3284 17 22 17.6716 22 18.5C22 19.3284 21.3284 20 20.5 20H9.5C8.67157 20 8 19.3284 8 18.5ZM6 11.5C6 12.6046 5.10457 13.5 4 13.5C2.89543 13.5 2 12.6046 2 11.5C2 10.3954 2.89543 9.5 4 9.5C5.10457 9.5 6 10.3954 6 11.5ZM4 20.5C5.10457 20.5 6 19.6046 6 18.5C6 17.3954 5.10457 16.5 4 16.5C2.89543 16.5 2 17.3954 2 18.5C2 19.6046 2.89543 20.5 4 20.5Z
-
- 16
- 6
- 2
- 0 0 2 1 #FFFFFF
-
- 80
- 20
- 48
- 3
-
0 0 14 0 #1AFFFFFF
-
-
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia.ColorPicker/Index.axaml b/src/Semi.Avalonia.ColorPicker/Index.axaml
index d41f3b7..2af9525 100644
--- a/src/Semi.Avalonia.ColorPicker/Index.axaml
+++ b/src/Semi.Avalonia.ColorPicker/Index.axaml
@@ -1,5 +1,4 @@
-
@@ -8,7 +7,8 @@
+
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia.ColorPicker/Light.axaml b/src/Semi.Avalonia.ColorPicker/Light.axaml
index 928968e..6148e2f 100644
--- a/src/Semi.Avalonia.ColorPicker/Light.axaml
+++ b/src/Semi.Avalonia.ColorPicker/Light.axaml
@@ -1,8 +1,4 @@
-
-
+
@@ -11,38 +7,15 @@
- 600
- 16 4
- 70
-
- M6.92,19L5,17.08L13.06,9L15,10.94M20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L13.84,6.41L11.91,4.5L10.5,5.91L11.92,7.33L3,16.25V21H7.75L16.67,12.08L18.09,13.5L19.5,12.09L17.58,10.17L20.7,7.05C21.1,6.65 21.1,6 20.71,5.63Z
-
-
- M17.5,12A1.5,1.5 0 0,1 16,10.5A1.5,1.5 0 0,1 17.5,9A1.5,1.5 0 0,1 19,10.5A1.5,1.5 0 0,1 17.5,12M14.5,8A1.5,1.5 0 0,1 13,6.5A1.5,1.5 0 0,1 14.5,5A1.5,1.5 0 0,1 16,6.5A1.5,1.5 0 0,1 14.5,8M9.5,8A1.5,1.5 0 0,1 8,6.5A1.5,1.5 0 0,1 9.5,5A1.5,1.5 0 0,1 11,6.5A1.5,1.5 0 0,1 9.5,8M6.5,12A1.5,1.5 0 0,1 5,10.5A1.5,1.5 0 0,1 6.5,9A1.5,1.5 0 0,1 8,10.5A1.5,1.5 0 0,1 6.5,12M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A1.5,1.5 0 0,0 13.5,19.5C13.5,19.11 13.35,18.76 13.11,18.5C12.88,18.23 12.73,17.88 12.73,17.5A1.5,1.5 0 0,1 14.23,16H16A5,5 0 0,0 21,11C21,6.58 16.97,3 12,3Z
-
-
- M4 6.5C5.10457 6.5 6 5.60457 6 4.5C6 3.39543 5.10457 2.5 4 2.5C2.89543 2.5 2 3.39543 2 4.5C2 5.60457 2.89543 6.5 4 6.5ZM9.5 3C8.67157 3 8 3.67157 8 4.5C8 5.32843 8.67157 6 9.5 6H20.5C21.3284 6 22 5.32843 22 4.5C22 3.67157 21.3284 3 20.5 3H9.5ZM8 11.5C8 10.6716 8.67157 10 9.5 10H20.5C21.3284 10 22 10.6716 22 11.5C22 12.3284 21.3284 13 20.5 13H9.5C8.67157 13 8 12.3284 8 11.5ZM8 18.5C8 17.6716 8.67157 17 9.5 17H20.5C21.3284 17 22 17.6716 22 18.5C22 19.3284 21.3284 20 20.5 20H9.5C8.67157 20 8 19.3284 8 18.5ZM6 11.5C6 12.6046 5.10457 13.5 4 13.5C2.89543 13.5 2 12.6046 2 11.5C2 10.3954 2.89543 9.5 4 9.5C5.10457 9.5 6 10.3954 6 11.5ZM4 20.5C5.10457 20.5 6 19.6046 6 18.5C6 17.3954 5.10457 16.5 4 16.5C2.89543 16.5 2 17.3954 2 18.5C2 19.6046 2.89543 20.5 4 20.5Z
-
- 16
- 6
- 2
- 0 0 2 1 #1A000000
-
- 80
- 20
- 48
- 3
-
0 0 14 0 #1A000000
-
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia.ColorPicker/Shared.axaml b/src/Semi.Avalonia.ColorPicker/Shared.axaml
new file mode 100644
index 0000000..3338c4d
--- /dev/null
+++ b/src/Semi.Avalonia.ColorPicker/Shared.axaml
@@ -0,0 +1,30 @@
+
+ 600
+ 16 4
+ 70
+
+
+ M6.92,19L5,17.08L13.06,9L15,10.94M20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L13.84,6.41L11.91,4.5L10.5,5.91L11.92,7.33L3,16.25V21H7.75L16.67,12.08L18.09,13.5L19.5,12.09L17.58,10.17L20.7,7.05C21.1,6.65 21.1,6 20.71,5.63Z
+
+
+ M17.5,12A1.5,1.5 0 0,1 16,10.5A1.5,1.5 0 0,1 17.5,9A1.5,1.5 0 0,1 19,10.5A1.5,1.5 0 0,1 17.5,12M14.5,8A1.5,1.5 0 0,1 13,6.5A1.5,1.5 0 0,1 14.5,5A1.5,1.5 0 0,1 16,6.5A1.5,1.5 0 0,1 14.5,8M9.5,8A1.5,1.5 0 0,1 8,6.5A1.5,1.5 0 0,1 9.5,5A1.5,1.5 0 0,1 11,6.5A1.5,1.5 0 0,1 9.5,8M6.5,12A1.5,1.5 0 0,1 5,10.5A1.5,1.5 0 0,1 6.5,9A1.5,1.5 0 0,1 8,10.5A1.5,1.5 0 0,1 6.5,12M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A1.5,1.5 0 0,0 13.5,19.5C13.5,19.11 13.35,18.76 13.11,18.5C12.88,18.23 12.73,17.88 12.73,17.5A1.5,1.5 0 0,1 14.23,16H16A5,5 0 0,0 21,11C21,6.58 16.97,3 12,3Z
+
+
+ M4 6.5C5.10457 6.5 6 5.60457 6 4.5C6 3.39543 5.10457 2.5 4 2.5C2.89543 2.5 2 3.39543 2 4.5C2 5.60457 2.89543 6.5 4 6.5ZM9.5 3C8.67157 3 8 3.67157 8 4.5C8 5.32843 8.67157 6 9.5 6H20.5C21.3284 6 22 5.32843 22 4.5C22 3.67157 21.3284 3 20.5 3H9.5ZM8 11.5C8 10.6716 8.67157 10 9.5 10H20.5C21.3284 10 22 10.6716 22 11.5C22 12.3284 21.3284 13 20.5 13H9.5C8.67157 13 8 12.3284 8 11.5ZM8 18.5C8 17.6716 8.67157 17 9.5 17H20.5C21.3284 17 22 17.6716 22 18.5C22 19.3284 21.3284 20 20.5 20H9.5C8.67157 20 8 19.3284 8 18.5ZM6 11.5C6 12.6046 5.10457 13.5 4 13.5C2.89543 13.5 2 12.6046 2 11.5C2 10.3954 2.89543 9.5 4 9.5C5.10457 9.5 6 10.3954 6 11.5ZM4 20.5C5.10457 20.5 6 19.6046 6 18.5C6 17.3954 5.10457 16.5 4 16.5C2.89543 16.5 2 17.3954 2 18.5C2 19.6046 2.89543 20.5 4 20.5Z
+
+
+ 16
+ 6
+ 2
+ 0 0 2 1 #FFFFFF
+
+ 80
+ 20
+ 48
+ 3
+
+
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia.DataGrid/Dark.axaml b/src/Semi.Avalonia.DataGrid/Dark.axaml
index ad74cb4..4af1cb1 100644
--- a/src/Semi.Avalonia.DataGrid/Dark.axaml
+++ b/src/Semi.Avalonia.DataGrid/Dark.axaml
@@ -1,29 +1,19 @@
-
- 12 0
- 32
- 1
- 1
-
+
- 12 0 0 0
- 32
+
- M6.45096 8.34102L11.247 2.86102C11.3408 2.75361 11.4566 2.66753 11.5865 2.60854C11.7163 2.54956 11.8573 2.51904 12 2.51904C12.1426 2.51904 12.2836 2.54956 12.4135 2.60854C12.5433 2.66753 12.6591 2.75361 12.753 2.86102L17.549 8.34102C18.115 8.98802 17.655 10 16.796 10H7.20396C6.34396 10 5.88496 8.98802 6.45096 8.34102Z
- M17.549 15.659L12.753 21.139C12.6591 21.2464 12.5434 21.3325 12.4135 21.3915C12.2836 21.4505 12.1427 21.481 12 21.481C11.8574 21.481 11.7164 21.4505 11.5865 21.3915C11.4566 21.3325 11.3409 21.2464 11.247 21.139L6.45101 15.659C5.88501 15.011 6.34501 14 7.20401 14H16.796C17.656 14 18.115 15.012 17.549 15.659Z
-
- 8 0
@@ -31,13 +21,10 @@
-
- M7.43934 19.7957C6.85355 19.2099 6.85355 18.2601 7.43934 17.6744L13.0962 12.0175L7.43934 6.36065C6.85355 5.77486 6.85355 4.82511 7.43934 4.23933C8.02513 3.65354 8.97487 3.65354 9.56066 4.23933L16.2782 10.9568C16.864 11.5426 16.864 12.4924 16.2782 13.0782L9.56066 19.7957C8.97487 20.3815 8.02513 20.3815 7.43934 19.7957Z
-
+
- 1
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia.DataGrid/Index.axaml b/src/Semi.Avalonia.DataGrid/Index.axaml
index 98cabac..29ddeaa 100644
--- a/src/Semi.Avalonia.DataGrid/Index.axaml
+++ b/src/Semi.Avalonia.DataGrid/Index.axaml
@@ -1,5 +1,4 @@
-
@@ -8,7 +7,8 @@
+
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia.DataGrid/Light.axaml b/src/Semi.Avalonia.DataGrid/Light.axaml
index 7c29b49..d35acc6 100644
--- a/src/Semi.Avalonia.DataGrid/Light.axaml
+++ b/src/Semi.Avalonia.DataGrid/Light.axaml
@@ -1,29 +1,18 @@
-
- 12 0
- 32
- 1
- 1
- 12 0 0 0
- 32
- M6.45096 8.34102L11.247 2.86102C11.3408 2.75361 11.4566 2.66753 11.5865 2.60854C11.7163 2.54956 11.8573 2.51904 12 2.51904C12.1426 2.51904 12.2836 2.54956 12.4135 2.60854C12.5433 2.66753 12.6591 2.75361 12.753 2.86102L17.549 8.34102C18.115 8.98802 17.655 10 16.796 10H7.20396C6.34396 10 5.88496 8.98802 6.45096 8.34102Z
- M17.549 15.659L12.753 21.139C12.6591 21.2464 12.5434 21.3325 12.4135 21.3915C12.2836 21.4505 12.1427 21.481 12 21.481C11.8574 21.481 11.7164 21.4505 11.5865 21.3915C11.4566 21.3325 11.3409 21.2464 11.247 21.139L6.45101 15.659C5.88501 15.011 6.34501 14 7.20401 14H16.796C17.656 14 18.115 15.012 17.549 15.659Z
-
- 8 0
@@ -32,12 +21,10 @@
- M7.43934 19.7957C6.85355 19.2099 6.85355 18.2601 7.43934 17.6744L13.0962 12.0175L7.43934 6.36065C6.85355 5.77486 6.85355 4.82511 7.43934 4.23933C8.02513 3.65354 8.97487 3.65354 9.56066 4.23933L16.2782 10.9568C16.864 11.5426 16.864 12.4924 16.2782 13.0782L9.56066 19.7957C8.97487 20.3815 8.02513 20.3815 7.43934 19.7957Z
- 1
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia.DataGrid/Shared.axaml b/src/Semi.Avalonia.DataGrid/Shared.axaml
new file mode 100644
index 0000000..7ae82b3
--- /dev/null
+++ b/src/Semi.Avalonia.DataGrid/Shared.axaml
@@ -0,0 +1,19 @@
+
+ 12 0
+
+ 32
+ 1
+ 1
+
+ 12 0 0 0
+ 32
+
+ M6.45096 8.34102L11.247 2.86102C11.3408 2.75361 11.4566 2.66753 11.5865 2.60854C11.7163 2.54956 11.8573 2.51904 12 2.51904C12.1426 2.51904 12.2836 2.54956 12.4135 2.60854C12.5433 2.66753 12.6591 2.75361 12.753 2.86102L17.549 8.34102C18.115 8.98802 17.655 10 16.796 10H7.20396C6.34396 10 5.88496 8.98802 6.45096 8.34102Z
+ M17.549 15.659L12.753 21.139C12.6591 21.2464 12.5434 21.3325 12.4135 21.3915C12.2836 21.4505 12.1427 21.481 12 21.481C11.8574 21.481 11.7164 21.4505 11.5865 21.3915C11.4566 21.3325 11.3409 21.2464 11.247 21.139L6.45101 15.659C5.88501 15.011 6.34501 14 7.20401 14H16.796C17.656 14 18.115 15.012 17.549 15.659Z
+
+ 8 0
+
+ M7.43934 19.7957C6.85355 19.2099 6.85355 18.2601 7.43934 17.6744L13.0962 12.0175L7.43934 6.36065C6.85355 5.77486 6.85355 4.82511 7.43934 4.23933C8.02513 3.65354 8.97487 3.65354 9.56066 4.23933L16.2782 10.9568C16.864 11.5426 16.864 12.4924 16.2782 13.0782L9.56066 19.7957C8.97487 20.3815 8.02513 20.3815 7.43934 19.7957Z
+
+ 1
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia.TreeDataGrid/Dark.axaml b/src/Semi.Avalonia.TreeDataGrid/Dark.axaml
new file mode 100644
index 0000000..2f5ee54
--- /dev/null
+++ b/src/Semi.Avalonia.TreeDataGrid/Dark.axaml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Semi.Avalonia.TreeDataGrid/Index.axaml b/src/Semi.Avalonia.TreeDataGrid/Index.axaml
new file mode 100644
index 0000000..b557af1
--- /dev/null
+++ b/src/Semi.Avalonia.TreeDataGrid/Index.axaml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Semi.Avalonia.TreeDataGrid/Light.axaml b/src/Semi.Avalonia.TreeDataGrid/Light.axaml
new file mode 100644
index 0000000..f15e970
--- /dev/null
+++ b/src/Semi.Avalonia.TreeDataGrid/Light.axaml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Semi.Avalonia.TreeDataGrid/Semi.Avalonia.TreeDataGrid.csproj b/src/Semi.Avalonia.TreeDataGrid/Semi.Avalonia.TreeDataGrid.csproj
new file mode 100644
index 0000000..7cfd5ae
--- /dev/null
+++ b/src/Semi.Avalonia.TreeDataGrid/Semi.Avalonia.TreeDataGrid.csproj
@@ -0,0 +1,12 @@
+
+
+
+ net6.0
+ 10
+
+
+
+
+
+
+
diff --git a/src/Semi.Avalonia.TreeDataGrid/Shared.axaml b/src/Semi.Avalonia.TreeDataGrid/Shared.axaml
new file mode 100644
index 0000000..168e7c3
--- /dev/null
+++ b/src/Semi.Avalonia.TreeDataGrid/Shared.axaml
@@ -0,0 +1,8 @@
+
+
+
+ M17.549 15.659L12.753 21.139C12.6591 21.2464 12.5434 21.3325 12.4135 21.3915C12.2836 21.4505 12.1427 21.481 12 21.481C11.8574 21.481 11.7164 21.4505 11.5865 21.3915C11.4566 21.3325 11.3409 21.2464 11.247 21.139L6.45101 15.659C5.88501 15.011 6.34501 14 7.20401 14H16.796C17.656 14 18.115 15.012 17.549 15.659Z
+
+ M6.45096 8.34102L11.247 2.86102C11.3408 2.75361 11.4566 2.66753 11.5865 2.60854C11.7163 2.54956 11.8573 2.51904 12 2.51904C12.1426 2.51904 12.2836 2.54956 12.4135 2.60854C12.5433 2.66753 12.6591 2.75361 12.753 2.86102L17.549 8.34102C18.115 8.98802 17.655 10 16.796 10H7.20396C6.34396 10 5.88496 8.98802 6.45096 8.34102Z
+ M9.65618 3.44015L18.6322 11.2454C19.0906 11.644 19.0906 12.356 18.6322 12.7546L9.65618 20.5598C9.00895 21.1226 8 20.6629 8 19.8052V4.19475C8 3.33705 9.00895 2.87734 9.65618 3.44015Z
+
diff --git a/src/Semi.Avalonia.TreeDataGrid/TreeDataGrid.axaml b/src/Semi.Avalonia.TreeDataGrid/TreeDataGrid.axaml
new file mode 100644
index 0000000..e1dab7d
--- /dev/null
+++ b/src/Semi.Avalonia.TreeDataGrid/TreeDataGrid.axaml
@@ -0,0 +1,342 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Semi.Avalonia/Controls/HeaderedContentControl.axaml b/src/Semi.Avalonia/Controls/HeaderedContentControl.axaml
index 918dc26..3a60806 100644
--- a/src/Semi.Avalonia/Controls/HeaderedContentControl.axaml
+++ b/src/Semi.Avalonia/Controls/HeaderedContentControl.axaml
@@ -7,8 +7,6 @@
-
-
@@ -23,7 +21,7 @@
BorderBrush="{TemplateBinding BorderBrush}"
CornerRadius="{TemplateBinding CornerRadius}"
BorderThickness="{TemplateBinding BorderThickness}">
-
+
Large Circle Label
-
-
-
-
-
-
-
-
-
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
@@ -162,7 +162,7 @@
-
+
@@ -203,45 +203,9 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
+
+
+
+
+
@@ -84,8 +85,849 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Controls/Controls.axaml b/src/Semi.Avalonia/Controls/_index.axaml
similarity index 98%
rename from src/Semi.Avalonia/Controls/Controls.axaml
rename to src/Semi.Avalonia/Controls/_index.axaml
index 7933d64..e8f6631 100644
--- a/src/Semi.Avalonia/Controls/Controls.axaml
+++ b/src/Semi.Avalonia/Controls/_index.axaml
@@ -2,7 +2,6 @@
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:CompileBindings="True">
-
@@ -61,4 +60,4 @@
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Semi.Avalonia.csproj b/src/Semi.Avalonia/Semi.Avalonia.csproj
index 9579c92..166c1f0 100644
--- a/src/Semi.Avalonia/Semi.Avalonia.csproj
+++ b/src/Semi.Avalonia/Semi.Avalonia.csproj
@@ -1,18 +1,14 @@
-
-
-
-
- Semi.Avalonia
- Update to Avalonia 11.0.0-rc1
-
-
-
-
+
-
-
-
+
+ Semi.Avalonia
+ Update to Avalonia 11.0.0-rc1
+
+
+
+
+
diff --git a/src/Semi.Avalonia/Themes/Base.axaml b/src/Semi.Avalonia/Themes/Base.axaml
index c195896..2489219 100644
--- a/src/Semi.Avalonia/Themes/Base.axaml
+++ b/src/Semi.Avalonia/Themes/Base.axaml
@@ -1,8 +1,4 @@
-
-
+
@@ -11,7 +7,7 @@
- 14
+ 14
Inter, -apple-system,BlinkMacSystemFont,PingFang SC, Microsoft YaHei, Segoe UI, Hiragino Sans GB, Helvetica Neue,Helvetica,Arial,sans-serif
Cascadia Code, Consolas, Inconsolata, monospace
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/AutoCompleteBox.axaml b/src/Semi.Avalonia/Themes/Dark/AutoCompleteBox.axaml
index 10f580e..76fd6b9 100644
--- a/src/Semi.Avalonia/Themes/Dark/AutoCompleteBox.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/AutoCompleteBox.axaml
@@ -2,12 +2,4 @@
0 0 8 0 #1AFFFFFF
- 1
- 4
- 6
- 3
- 32
- 24
- 40
- 600
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/Border.axaml b/src/Semi.Avalonia/Themes/Dark/Border.axaml
index 74a762b..25d26fc 100644
--- a/src/Semi.Avalonia/Themes/Dark/Border.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/Border.axaml
@@ -1,12 +1,5 @@
-
+
- 4
- 20
- 4
- 1
0 0 14 0 #1AFFFFFF
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/Button.axaml b/src/Semi.Avalonia/Themes/Dark/Button.axaml
index 131c68d..31e56fc 100644
--- a/src/Semi.Avalonia/Themes/Dark/Button.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/Button.axaml
@@ -1,19 +1,4 @@
-
-
- 14
- 600
-
- 12 6
- 16 10
- 6 2
-
- 1
-
- 3
-
+
@@ -32,7 +17,6 @@
-
@@ -91,4 +75,4 @@
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/ButtonSpinner.axaml b/src/Semi.Avalonia/Themes/Dark/ButtonSpinner.axaml
index 5b19bad..2aeac3b 100644
--- a/src/Semi.Avalonia/Themes/Dark/ButtonSpinner.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/ButtonSpinner.axaml
@@ -1,15 +1,8 @@
-
- M19.637 16.4369C19.0513 17.0227 18.1015 17.0227 17.5157 16.4369L11.8589 10.7801L6.20202 16.4369C5.61623 17.0227 4.66648 17.0227 4.0807 16.4369C3.49491 15.8511 3.49491 14.9014 4.0807 14.3156L10.7982 7.59809C11.384 7.01231 12.3337 7.01231 12.9195 7.59809L19.637 14.3156C20.2228 14.9014 20.2228 15.8511 19.637 16.4369Z
- M4.08045 7.59809C4.66624 7.01231 5.61599 7.01231 6.20177 7.59809L11.8586 13.2549L17.5155 7.59809C18.1013 7.01231 19.051 7.01231 19.6368 7.59809C20.2226 8.18388 20.2226 9.13363 19.6368 9.71941L12.9193 16.4369C12.3335 17.0227 11.3838 17.0227 10.798 16.4369L4.08045 9.71941C3.49467 9.13363 3.49467 8.18388 4.08045 7.59809Z
-
+
-
- 3
- 1
-
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/Calendar.axaml b/src/Semi.Avalonia/Themes/Dark/Calendar.axaml
index 934e516..e9f48c2 100644
--- a/src/Semi.Avalonia/Themes/Dark/Calendar.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/Calendar.axaml
@@ -1,37 +1,24 @@
-
-
+
- 1
- 6
- 40
-
-
- M16.2782 4.23933C16.864 4.82511 16.864 5.77486 16.2782 6.36065L10.6213 12.0175L16.2782 17.6744C16.864 18.2601 16.864 19.2099 16.2782 19.7957C15.6924 20.3815 14.7426 20.3815 14.1569 19.7957L7.43934 13.0782C6.85355 12.4924 6.85355 11.5426 7.43934 10.9568L14.1569 4.23933C14.7426 3.65354 15.6924 3.65354 16.2782 4.23933Z
- M7.43934 19.7957C6.85355 19.2099 6.85355 18.2601 7.43934 17.6744L13.0962 12.0175L7.43934 6.36065C6.85355 5.77486 6.85355 4.82511 7.43934 4.23933C8.02513 3.65354 8.97487 3.65354 9.56066 4.23933L16.2782 10.9568C16.864 11.5426 16.864 12.4924 16.2782 13.0782L9.56066 19.7957C8.97487 20.3815 8.02513 20.3815 7.43934 19.7957Z
+
+
- 0
- 600
- 3
- 3
@@ -44,8 +31,5 @@
-
-
- 240
- 250
-
+
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/CalendarDatePicker.axaml b/src/Semi.Avalonia/Themes/Dark/CalendarDatePicker.axaml
index a0d8a58..962d533 100644
--- a/src/Semi.Avalonia/Themes/Dark/CalendarDatePicker.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/CalendarDatePicker.axaml
@@ -1,26 +1,13 @@
-
-
+
- M4 20V8H20V20H4ZM2 4C2 2.89543 2.89543 2 4 2H20C21.1046 2 22 2.89543 22 4V20C22 21.1046 21.1046 22 20 22H4C2.89543 22 2 21.1046 2 20V4ZM6 10.5C6 10.2239 6.22386 10 6.5 10H8.5C8.77614 10 9 10.2239 9 10.5V12.5C9 12.7761 8.77614 13 8.5 13H6.5C6.22386 13 6 12.7761 6 12.5V10.5ZM6.5 15C6.22386 15 6 15.2239 6 15.5V17.5C6 17.7761 6.22386 18 6.5 18H8.5C8.77614 18 9 17.7761 9 17.5V15.5C9 15.2239 8.77614 15 8.5 15H6.5ZM10.5 10.5C10.5 10.2239 10.7239 10 11 10H13C13.2761 10 13.5 10.2239 13.5 10.5V12.5C13.5 12.7761 13.2761 13 13 13H11C10.7239 13 10.5 12.7761 10.5 12.5V10.5ZM11 15C10.7239 15 10.5 15.2239 10.5 15.5V17.5C10.5 17.7761 10.7239 18 11 18H13C13.2761 18 13.5 17.7761 13.5 17.5V15.5C13.5 15.2239 13.2761 15 13 15H11ZM15 10.5C15 10.2239 15.2239 10 15.5 10H17.5C17.7761 10 18 10.2239 18 10.5V12.5C18 12.7761 17.7761 13 17.5 13H15.5C15.2239 13 15 12.7761 15 12.5V10.5ZM15.5 15C15.2239 15 15 15.2239 15 15.5V17.5C15 17.7761 15.2239 18 15.5 18H17.5C17.7761 18 18 17.7761 18 17.5V15.5C18 15.2239 17.7761 15 17.5 15H15.5Z
-
-
- 1
- 3
-
0 0 8 0 #1AFFFFFF
- 30
- 22
- 38
- 32
- 24
- 40
diff --git a/src/Semi.Avalonia/Themes/Dark/CaptionButtons.axaml b/src/Semi.Avalonia/Themes/Dark/CaptionButtons.axaml
index 6f17819..8c54002 100644
--- a/src/Semi.Avalonia/Themes/Dark/CaptionButtons.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/CaptionButtons.axaml
@@ -1,14 +1,7 @@
-
- M13.46,12L19,17.54V19H17.54L12,13.46L6.46,19H5V17.54L10.54,12L5,6.46V5H6.46L12,10.54L17.54,5H19V6.46L13.46,12Z
- M4,4H20V20H4V4M6,8V18H18V8H6Z
- M20,14H4V10H20
- M4,8H8V4H20V16H16V20H4V8M16,8V14H18V6H10V8H16M6,12V18H14V12H6Z
- M10,21V19H6.41L10.91,14.5L9.5,13.09L5,17.59V14H3V21H10M14.5,10.91L19,6.41V10H21V3H14V5H17.59L13.09,9.5L14.5,10.91Z
- M19.5,3.09L15,7.59V4H13V11H20V9H16.41L20.91,4.5L19.5,3.09M4,13V15H7.59L3.09,19.5L4.5,20.91L9,16.41V20H11V13H4Z
-
-
+
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/Carousel.axaml b/src/Semi.Avalonia/Themes/Dark/Carousel.axaml
index fb02b11..561a92f 100644
--- a/src/Semi.Avalonia/Themes/Dark/Carousel.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/Carousel.axaml
@@ -1,7 +1,4 @@
-
- M16.2782 4.23933C16.864 4.82511 16.864 5.77486 16.2782 6.36065L10.6213 12.0175L16.2782 17.6744C16.864 18.2601 16.864 19.2099 16.2782 19.7957C15.6924 20.3815 14.7426 20.3815 14.1569 19.7957L7.43934 13.0782C6.85355 12.4924 6.85355 11.5426 7.43934 10.9568L14.1569 4.23933C14.7426 3.65354 15.6924 3.65354 16.2782 4.23933Z
-
@@ -9,8 +6,4 @@
-
- 48
- 8
- 8
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/CheckBox.axaml b/src/Semi.Avalonia/Themes/Dark/CheckBox.axaml
index fa48e7e..4c4bb32 100644
--- a/src/Semi.Avalonia/Themes/Dark/CheckBox.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/CheckBox.axaml
@@ -1,7 +1,4 @@
-
+
@@ -27,20 +24,6 @@
- 14
- 16
- 16
- 10
- 10
- 400
-
- 3
- 8 0 0 0
- 1
-
- M17.4111 7.30848C18.0692 7.81171 18.1947 8.75312 17.6915 9.41119L11.1915 17.9112C10.909 18.2806 10.4711 18.4981 10.0061 18.5C9.54105 18.5019 9.10143 18.288 8.81592 17.9209L5.31592 13.4209C4.80731 12.767 4.92512 11.8246 5.57904 11.316C6.23296 10.8074 7.17537 10.9252 7.68398 11.5791L9.98988 14.5438L15.3084 7.58884C15.8116 6.93077 16.7531 6.80525 17.4111 7.30848Z
- M5 12.5C5 11.6716 5.67157 11 6.5 11H17.5C18.3284 11 19 11.6716 19 12.5C19 13.3284 18.3284 14 17.5 14H6.5C5.67157 14 5 13.3284 5 12.5Z
-
@@ -48,8 +31,4 @@
-
- 1
- 16
- 3
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/ComboBox.axaml b/src/Semi.Avalonia/Themes/Dark/ComboBox.axaml
index fdcb458..29fc605 100644
--- a/src/Semi.Avalonia/Themes/Dark/ComboBox.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/ComboBox.axaml
@@ -7,22 +7,16 @@
- 3
-
-
+
- 8 4
- 8 0
-
0 0 8 0 #1AFFFFFF
- 1
@@ -34,13 +28,6 @@
-
- M4.08045 7.59809C4.66624 7.01231 5.61599 7.01231 6.20177 7.59809L11.8586 13.2549L17.5155 7.59809C18.1013 7.01231 19.051 7.01231 19.6368 7.59809C20.2226 8.18388 20.2226 9.13363 19.6368 9.71941L12.9193 16.4369C12.3335 17.0227 11.3838 17.0227 10.798 16.4369L4.08045 9.71941C3.49467 9.13363 3.49467 8.18388 4.08045 7.59809Z
-
-
- 32
- 24
- 40
diff --git a/src/Semi.Avalonia/Themes/Dark/DataValidationErrors.axaml b/src/Semi.Avalonia/Themes/Dark/DataValidationErrors.axaml
index a54f303..45a1849 100644
--- a/src/Semi.Avalonia/Themes/Dark/DataValidationErrors.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/DataValidationErrors.axaml
@@ -1,5 +1,4 @@
-
@@ -9,4 +8,4 @@
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/DatePicker.axaml b/src/Semi.Avalonia/Themes/Dark/DatePicker.axaml
index 6964b5d..d1981be 100644
--- a/src/Semi.Avalonia/Themes/Dark/DatePicker.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/DatePicker.axaml
@@ -1,4 +1,2 @@
-
-
- M4 20V8H20V20H4ZM2 4C2 2.89543 2.89543 2 4 2H20C21.1046 2 22 2.89543 22 4V20C22 21.1046 21.1046 22 20 22H4C2.89543 22 2 21.1046 2 20V4ZM6 10.5C6 10.2239 6.22386 10 6.5 10H8.5C8.77614 10 9 10.2239 9 10.5V12.5C9 12.7761 8.77614 13 8.5 13H6.5C6.22386 13 6 12.7761 6 12.5V10.5ZM6.5 15C6.22386 15 6 15.2239 6 15.5V17.5C6 17.7761 6.22386 18 6.5 18H8.5C8.77614 18 9 17.7761 9 17.5V15.5C9 15.2239 8.77614 15 8.5 15H6.5ZM10.5 10.5C10.5 10.2239 10.7239 10 11 10H13C13.2761 10 13.5 10.2239 13.5 10.5V12.5C13.5 12.7761 13.2761 13 13 13H11C10.7239 13 10.5 12.7761 10.5 12.5V10.5ZM11 15C10.7239 15 10.5 15.2239 10.5 15.5V17.5C10.5 17.7761 10.7239 18 11 18H13C13.2761 18 13.5 17.7761 13.5 17.5V15.5C13.5 15.2239 13.2761 15 13 15H11ZM15 10.5C15 10.2239 15.2239 10 15.5 10H17.5C17.7761 10 18 10.2239 18 10.5V12.5C18 12.7761 17.7761 13 17.5 13H15.5C15.2239 13 15 12.7761 15 12.5V10.5ZM15.5 15C15.2239 15 15 15.2239 15 15.5V17.5C15 17.7761 15.2239 18 15.5 18H17.5C17.7761 18 18 17.7761 18 17.5V15.5C18 15.2239 17.7761 15 17.5 15H15.5Z
-
+
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/DateTimePickerShared.axaml b/src/Semi.Avalonia/Themes/Dark/DateTimePickerShared.axaml
index 83c668d..6f0ecc8 100644
--- a/src/Semi.Avalonia/Themes/Dark/DateTimePickerShared.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/DateTimePickerShared.axaml
@@ -1,12 +1,7 @@
-
-
+
- 0 3 0 6
-
+
@@ -14,20 +9,14 @@
- M6.45096 8.34102L11.247 2.86102C11.3408 2.75361 11.4566 2.66753 11.5865 2.60854C11.7163 2.54956 11.8573 2.51904 12 2.51904C12.1426 2.51904 12.2836 2.54956 12.4135 2.60854C12.5433 2.66753 12.6591 2.75361 12.753 2.86102L17.549 8.34102C18.115 8.98802 17.655 10 16.796 10H7.20396C6.34396 10 5.88496 8.98802 6.45096 8.34102Z
- M17.549 15.659L12.753 21.139C12.6591 21.2464 12.5434 21.3325 12.4135 21.3915C12.2836 21.4505 12.1427 21.481 12 21.481C11.8574 21.481 11.7164 21.4505 11.5865 21.3915C11.4566 21.3325 11.3409 21.2464 11.247 21.139L6.45101 15.659C5.88501 15.011 6.34501 14 7.20401 14H16.796C17.656 14 18.115 15.012 17.549 15.659Z
- M17.4111 7.30848C18.0692 7.81171 18.1947 8.75312 17.6915 9.41119L11.1915 17.9112C10.909 18.2806 10.4711 18.4981 10.0061 18.5C9.54105 18.5019 9.10143 18.288 8.81592 17.9209L5.31592 13.4209C4.80731 12.767 4.92512 11.8246 5.57904 11.316C6.23296 10.8074 7.17537 10.9252 7.68398 11.5791L9.98988 14.5438L15.3084 7.58884C15.8116 6.93077 16.7531 6.80525 17.4111 7.30848Z
- M17.6568 19.7782C18.2426 20.3639 19.1924 20.3639 19.7782 19.7782C20.3639 19.1924 20.3639 18.2426 19.7782 17.6568L14.1213 12L19.7782 6.34313C20.3639 5.75734 20.3639 4.8076 19.7782 4.22181C19.1924 3.63602 18.2426 3.63602 17.6568 4.22181L12 9.87866L6.34313 4.22181C5.75734 3.63602 4.8076 3.63602 4.22181 4.22181C3.63602 4.8076 3.63602 5.75734 4.22181 6.34313L9.87866 12L4.22181 17.6568C3.63602 18.2426 3.63602 19.1924 4.22181 19.7782C4.8076 20.3639 5.75734 20.3639 6.34313 19.7782L12 14.1213L17.6568 19.7782Z
-
- 30
-
+
@@ -36,14 +25,4 @@
0 0 8 0 #1AFFFFFF
- 16 0
- 8
-
- 24
- 32
- 40
-
- 1
- 3
-
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/DropDownButton.axaml b/src/Semi.Avalonia/Themes/Dark/DropDownButton.axaml
index cd4f571..d1981be 100644
--- a/src/Semi.Avalonia/Themes/Dark/DropDownButton.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/DropDownButton.axaml
@@ -1,4 +1,2 @@
-
-
- M4.08045 7.59809C4.66624 7.01231 5.61599 7.01231 6.20177 7.59809L11.8586 13.2549L17.5155 7.59809C18.1013 7.01231 19.051 7.01231 19.6368 7.59809C20.2226 8.18388 20.2226 9.13363 19.6368 9.71941L12.9193 16.4369C12.3335 17.0227 11.3838 17.0227 10.798 16.4369L4.08045 9.71941C3.49467 9.13363 3.49467 8.18388 4.08045 7.59809Z
-
+
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/Expander.axaml b/src/Semi.Avalonia/Themes/Dark/Expander.axaml
index bcda685..150d63e 100644
--- a/src/Semi.Avalonia/Themes/Dark/Expander.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/Expander.axaml
@@ -1,27 +1,10 @@
-
+
-
+
-
- 600
- 8
-
- 3
- 8 4
- 8
- 0 0 8 0
- 16 4 16 8
- 8 0 0 0
- 0 0 0 1
- 0 1 0 0
- 1 0 0 0
- 0 0 1 0
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/Flyout.axaml b/src/Semi.Avalonia/Themes/Dark/Flyout.axaml
index d88a2fc..87a6de1 100644
--- a/src/Semi.Avalonia/Themes/Dark/Flyout.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/Flyout.axaml
@@ -1,18 +1,6 @@
-
+
- 400
- 1
0 0 8 0 #1AFFFFFF
- 100
- 100
- 600
- 600
- 6
- 8
-
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/GridSplitter.axaml b/src/Semi.Avalonia/Themes/Dark/GridSplitter.axaml
index 68006be..f7b2f61 100644
--- a/src/Semi.Avalonia/Themes/Dark/GridSplitter.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/GridSplitter.axaml
@@ -1,5 +1,4 @@
-
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/HeaderedContentControl.axaml b/src/Semi.Avalonia/Themes/Dark/HeaderedContentControl.axaml
index 5a991bb..79315cc 100644
--- a/src/Semi.Avalonia/Themes/Dark/HeaderedContentControl.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/HeaderedContentControl.axaml
@@ -1,6 +1,4 @@
-
+
- 4
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/Label.axaml b/src/Semi.Avalonia/Themes/Dark/Label.axaml
index a7e2ce0..1a9c36f 100644
--- a/src/Semi.Avalonia/Themes/Dark/Label.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/Label.axaml
@@ -1,111 +1,96 @@
-
+
-
- 1
- 8 2
- 8 4
- 20
- 24
- 12
- 3
- 9999
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/ListBox.axaml b/src/Semi.Avalonia/Themes/Dark/ListBox.axaml
index aa73596..eabaf20 100644
--- a/src/Semi.Avalonia/Themes/Dark/ListBox.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/ListBox.axaml
@@ -1,9 +1,7 @@
-
- 8 4
-
+
-
+
@@ -14,6 +12,86 @@
- 3
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/ManagedFileChooser.axaml b/src/Semi.Avalonia/Themes/Dark/ManagedFileChooser.axaml
index fd95927..969ecec 100644
--- a/src/Semi.Avalonia/Themes/Dark/ManagedFileChooser.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/ManagedFileChooser.axaml
@@ -1,7 +1,5 @@
-
- M20 18V20H13.5C9.91 20 7 17.09 7 13.5V7.83L3.91 10.92L2.5 9.5L8 4L13.5 9.5L12.09 10.91L9 7.83V13.5C9 16 11 18 13.5 18H20Z
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/Menu.axaml b/src/Semi.Avalonia/Themes/Dark/Menu.axaml
index 7fbf015..cd613ce 100644
--- a/src/Semi.Avalonia/Themes/Dark/Menu.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/Menu.axaml
@@ -1,47 +1,24 @@
-
-
-
- M19.637 16.4369C19.0513 17.0227 18.1015 17.0227 17.5157 16.4369L11.8589 10.7801L6.20202 16.4369C5.61623 17.0227 4.66648 17.0227 4.0807 16.4369C3.49491 15.8511 3.49491 14.9014 4.0807 14.3156L10.7982 7.59809C11.384 7.01231 12.3337 7.01231 12.9195 7.59809L19.637 14.3156C20.2228 14.9014 20.2228 15.8511 19.637 16.4369Z
- M4.08045 7.59809C4.66624 7.01231 5.61599 7.01231 6.20177 7.59809L11.8586 13.2549L17.5155 7.59809C18.1013 7.01231 19.051 7.01231 19.6368 7.59809C20.2226 8.18388 20.2226 9.13363 19.6368 9.71941L12.9193 16.4369C12.3335 17.0227 11.3838 17.0227 10.798 16.4369L4.08045 9.71941C3.49467 9.13363 3.49467 8.18388 4.08045 7.59809Z
- M7.43934 19.7957C6.85355 19.2099 6.85355 18.2601 7.43934 17.6744L13.0962 12.0175L7.43934 6.36065C6.85355 5.77486 6.85355 4.82511 7.43934 4.23933C8.02513 3.65354 8.97487 3.65354 9.56066 4.23933L16.2782 10.9568C16.864 11.5426 16.864 12.4924 16.2782 13.0782L9.56066 19.7957C8.97487 20.3815 8.02513 20.3815 7.43934 19.7957Z
-
+
+
- 1
- 8
0 0 8 0 #1AFFFFFF
- 6
- 16
- 100
- 400
- 600
- 16 8
- 1
- 2
- 0 0 12 0
- 4 0
-
-
+
- 4 0
-
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/NotificationCard.axaml b/src/Semi.Avalonia/Themes/Dark/NotificationCard.axaml
index ef1c5d7..8c8e318 100644
--- a/src/Semi.Avalonia/Themes/Dark/NotificationCard.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/NotificationCard.axaml
@@ -1,7 +1,4 @@
-
+
@@ -9,12 +6,5 @@
- 320
- 1
- 6
0 0 8 0 #1AFFFFFF
- M12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23ZM14 7C14 8.10457 13.1046 9 12 9C10.8954 9 10 8.10457 10 7C10 5.89543 10.8954 5 12 5C13.1046 5 14 5.89543 14 7ZM9 10.75C9 10.3358 9.33579 10 9.75 10H12.5C13.0523 10 13.5 10.4477 13.5 11V16.5H14.25C14.6642 16.5 15 16.8358 15 17.25C15 17.6642 14.6642 18 14.25 18H9.75C9.33579 18 9 17.6642 9 17.25C9 16.8358 9.33579 16.5 9.75 16.5H10.5V11.5H9.75C9.33579 11.5 9 11.1642 9 10.75Z
- M12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23ZM17.8831 9.82235L11.6854 17.4112C11.4029 17.7806 10.965 17.9981 10.5 18C10.035 18.0019 9.59533 17.788 9.30982 17.421L5.81604 13.4209C5.30744 12.767 5.42524 11.8246 6.07916 11.316C6.73308 10.8074 7.67549 10.9252 8.1841 11.5791L10.4838 14.0439L15.5 8C16.0032 7.34193 16.9446 7.21641 17.6027 7.71964C18.2608 8.22287 18.3863 9.16428 17.8831 9.82235Z
- M10.2268 2.3986L1.52616 19.0749C0.831449 20.4064 1.79747 22 3.29933 22H20.7007C22.2025 22 23.1686 20.4064 22.4739 19.0749L13.7732 2.3986C13.0254 0.965441 10.9746 0.965442 10.2268 2.3986ZM13.1415 14.0101C13.0603 14.5781 12.5739 15 12.0001 15C11.4263 15 10.9398 14.5781 10.8586 14.0101L10.2829 9.97992C10.1336 8.93495 10.9445 8.00002 12.0001 8.00002C13.0556 8.00002 13.8665 8.93495 13.7172 9.97992L13.1415 14.0101ZM13.5001 18.5C13.5001 19.3284 12.8285 20 12.0001 20C11.1716 20 10.5001 19.3284 10.5001 18.5C10.5001 17.6716 11.1716 17 12.0001 17C12.8285 17 13.5001 17.6716 13.5001 18.5Z
- M23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12ZM13.5 17.5C13.5 16.6716 12.8284 16 12 16C11.1716 16 10.5 16.6716 10.5 17.5C10.5 18.3284 11.1716 19 12 19C12.8284 19 13.5 18.3284 13.5 17.5ZM12 5C10.9138 5 10.0507 5.91244 10.1109 6.99692L10.4168 12.5023C10.4635 13.3426 11.1584 14 12 14C12.8416 14 13.5365 13.3426 13.5832 12.5023L13.8891 6.99692C13.9493 5.91244 13.0862 5 12 5Z
diff --git a/src/Semi.Avalonia/Themes/Dark/NumericUpDown.axaml b/src/Semi.Avalonia/Themes/Dark/NumericUpDown.axaml
index 27105a5..d1981be 100644
--- a/src/Semi.Avalonia/Themes/Dark/NumericUpDown.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/NumericUpDown.axaml
@@ -1,7 +1,2 @@
-
-
- 3
- 32
- 24
- 40
-
+
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/Palette.axaml b/src/Semi.Avalonia/Themes/Dark/Palette.axaml
index 6ac643c..d66c981 100644
--- a/src/Semi.Avalonia/Themes/Dark/Palette.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/Palette.axaml
@@ -1,5 +1,4 @@
-
#6C090B
#901110
@@ -337,7 +336,8 @@
-
+
@@ -410,4 +410,4 @@
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/ProgressBar.axaml b/src/Semi.Avalonia/Themes/Dark/ProgressBar.axaml
index 9500752..6f40655 100644
--- a/src/Semi.Avalonia/Themes/Dark/ProgressBar.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/ProgressBar.axaml
@@ -1,16 +1,13 @@
-
- 3
- 600
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/RadioButton.axaml b/src/Semi.Avalonia/Themes/Dark/RadioButton.axaml
index a301b8d..d4f2811 100644
--- a/src/Semi.Avalonia/Themes/Dark/RadioButton.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/RadioButton.axaml
@@ -1,12 +1,5 @@
-
- 16
- 6
- 14
- 0 2 8 0
-
+
+
@@ -28,28 +21,15 @@
-
- 3
- 3
- 3
-
- 600
- 16 2
- 16 4
- 24 6
-
- 12
- 12
- 14
-
+
@@ -57,19 +37,13 @@
- 16 12
-
+
-
-
-
- 3
-
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/RefreshContainer.axaml b/src/Semi.Avalonia/Themes/Dark/RefreshContainer.axaml
index 7f21a12..9be9ad3 100644
--- a/src/Semi.Avalonia/Themes/Dark/RefreshContainer.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/RefreshContainer.axaml
@@ -1,7 +1,4 @@
-
- 24
- M14.2 3.78966C9.66551 2.57466 5.00465 5.26561 3.78964 9.80007C3.12066 12.2967 3.63433 14.8301 4.99177 16.8102C5.46019 17.4935 5.28601 18.4271 4.60273 18.8955C3.91945 19.364 2.98581 19.1898 2.51739 18.5065C0.685557 15.8344 -0.0134454 12.4023 0.891867 9.02361C2.5357 2.88875 8.84157 -0.751945 14.9764 0.891885C21.1113 2.53572 24.752 8.84159 23.1082 14.9765C22.8937 15.7767 22.0712 16.2515 21.271 16.0371C20.4708 15.8227 19.996 15.0002 20.2104 14.2C21.4254 9.66553 18.7344 5.00467 14.2 3.78966Z
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/ScrollViewer.axaml b/src/Semi.Avalonia/Themes/Dark/ScrollViewer.axaml
index a8ca77c..7771787 100644
--- a/src/Semi.Avalonia/Themes/Dark/ScrollViewer.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/ScrollViewer.axaml
@@ -1,18 +1,8 @@
-
- 14
- 10
+
- M16.3176 6.95628V17.0878C16.3176 17.4871 15.8725 17.7253 15.5402 17.5038L7.94161 12.438C7.64474 12.2401 7.64474 11.8039 7.94161 11.606L15.5402 6.54025C15.8725 6.31873 16.3176 6.55693 16.3176 6.95628Z
- M9 17.0657V6.93425C9 6.5349 9.44507 6.29671 9.77735 6.51823L17.376 11.584C17.6728 11.7819 17.6728 12.2181 17.376 12.416L9.77735 17.4818C9.44507 17.7033 9 17.4651 9 17.0657Z
- M17.0839 16.3212H6.9524C6.55305 16.3212 6.31486 15.8761 6.53638 15.5438L11.6021 7.94521C11.8 7.64834 12.2363 7.64834 12.4342 7.94521L17.4999 15.5438C17.7214 15.8761 17.4832 16.3212 17.0839 16.3212Z
- M6.95249 7.72265L17.084 7.72265C17.4833 7.72265 17.7215 8.16772 17.5 8.5L12.4343 16.0986C12.2363 16.3955 11.8001 16.3955 11.6022 16.0986L6.53647 8.5C6.31495 8.16772 6.55315 7.72265 6.95249 7.72265Z
-
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/Slider.axaml b/src/Semi.Avalonia/Themes/Dark/Slider.axaml
index 884cd00..708dd36 100644
--- a/src/Semi.Avalonia/Themes/Dark/Slider.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/Slider.axaml
@@ -1,28 +1,14 @@
-
-
+
- 4
- 3
- 16
- 16
- 24
- 0
- 0 0 1 1 #1AFFFFFF
- 4
- 4
- 2
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/SplitButton.axaml b/src/Semi.Avalonia/Themes/Dark/SplitButton.axaml
index 8ef2922..d1981be 100644
--- a/src/Semi.Avalonia/Themes/Dark/SplitButton.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/SplitButton.axaml
@@ -1,8 +1,2 @@
-
-
- M20.5598 9.65618L12.7546 18.6322C12.3559 19.0906 11.644 19.0906 11.2453 18.6322L3.4401 9.65618C2.8773 9.00895 3.33701 8 4.19471 8L19.8052 8C20.6629 8 21.1226 9.00895 20.5598 9.65618Z
- 1
-
+
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/SplitView.axaml b/src/Semi.Avalonia/Themes/Dark/SplitView.axaml
index ff349b5..aea9a99 100644
--- a/src/Semi.Avalonia/Themes/Dark/SplitView.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/SplitView.axaml
@@ -1,13 +1,4 @@
-
-
- 320
- 48
- 00:00:00.2
- 00:00:00.1
- 0.1,0.9,0.2,1.0
+
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/TabControl.axaml b/src/Semi.Avalonia/Themes/Dark/TabControl.axaml
index 9017e8d..d1981be 100644
--- a/src/Semi.Avalonia/Themes/Dark/TabControl.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/TabControl.axaml
@@ -1,3 +1,2 @@
-
-
-
+
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/TabItem.axaml b/src/Semi.Avalonia/Themes/Dark/TabItem.axaml
index 05f09c4..8f75744 100644
--- a/src/Semi.Avalonia/Themes/Dark/TabItem.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/TabItem.axaml
@@ -1,15 +1,13 @@
-
-
+
- 600
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/TextBlock.axaml b/src/Semi.Avalonia/Themes/Dark/TextBlock.axaml
index 9719a89..7938282 100644
--- a/src/Semi.Avalonia/Themes/Dark/TextBlock.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/TextBlock.axaml
@@ -1,9 +1,7 @@
-
+
-
+
@@ -15,28 +13,4 @@
-
- 12
-
- 14
- 32
- 28
- 24
- 20
- 18
- 16
- 400
- 600
- 600
- 600
-
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 2
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/TextBox.axaml b/src/Semi.Avalonia/Themes/Dark/TextBox.axaml
index 446d247..df5a151 100644
--- a/src/Semi.Avalonia/Themes/Dark/TextBox.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/TextBox.axaml
@@ -1,7 +1,4 @@
-
+
@@ -27,31 +24,7 @@
- 30
- 22
- 38
- 32
- 24
- 40
-
- 3
-
- 3 0 0 3
- 0 3 3 0
- 3 0 0 3
- 0 3 3 0
- 0 0 0 0
-
- 0 0 8 0
- 8 0 0 0
- 8 0
- 1
-
- M12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23ZM17.0352 16.8626C16.4597 17.4585 15.5101 17.4751 14.9142 16.8996L12.0368 14.121L9.25822 16.9984C8.68274 17.5943 7.73314 17.6109 7.13722 17.0354C6.5413 16.4599 6.52472 15.5103 7.1002 14.9144L9.87883 12.037L7.00147 9.2584C6.40555 8.68293 6.38897 7.73332 6.96445 7.1374C7.53992 6.54148 8.48953 6.52491 9.08545 7.10038L11.9628 9.87901L14.7414 7.00165C15.3169 6.40573 16.2665 6.38916 16.8624 6.96463C17.4584 7.54011 17.4749 8.48971 16.8995 9.08563L14.1208 11.963L16.9982 14.7416C17.5941 15.3171 17.6107 16.2667 17.0352 16.8626Z
- M12 4C5 4 1 10 1 12C1 14 5 20 12 20C19 20 23 14 23 12C23 10 19 4 12 4ZM17 12C17 14.7614 14.7614 17 12 17C9.23858 17 7 14.7614 7 12C7 9.23858 9.23858 7 12 7C14.7614 7 17 9.23858 17 12ZM12 15C13.6569 15 15 13.6569 15 12C15 10.3431 13.6569 9 12 9C10.3431 9 9 10.3431 9 12C9 13.6569 10.3431 15 12 15Z
- M2.02949 4.67856C2.7593 4.28654 3.66871 4.56038 4.06073 5.29018C6.21313 9.29726 8.83179 11.5 12.0001 11.5C15.1685 11.5 17.7871 9.29726 19.9395 5.29018C20.3315 4.56038 21.241 4.28655 21.9708 4.67856C22.7006 5.07058 22.9744 5.97999 22.5824 6.7098C21.9049 7.97104 21.1385 9.15419 20.2743 10.199L23.2001 14.1C23.6971 14.7627 23.5628 15.7029 22.9001 16.2C22.2373 16.697 21.2971 16.5627 20.8001 15.9L18.1186 12.3246C17.448 12.8501 16.7322 13.2957 15.9687 13.6441L17.4046 17.4733C17.6955 18.249 17.3025 19.1136 16.5268 19.4045C15.7511 19.6954 14.8865 19.3024 14.5956 18.5267L13.0956 14.5267C13.0852 14.4988 13.0756 14.4709 13.0669 14.4428C12.7193 14.4806 12.3638 14.5 12.0001 14.5C11.6365 14.5 11.281 14.4806 10.9333 14.4428C10.9246 14.4709 10.9151 14.4988 10.9046 14.5267L9.40463 18.5267C9.11375 19.3024 8.24913 19.6954 7.47345 19.4045C6.69777 19.1136 6.30476 18.249 6.59564 17.4733L8.03159 13.6441C7.26806 13.2957 6.55223 12.8501 5.88163 12.3246L3.20009 15.9C2.70303 16.5627 1.76283 16.697 1.10009 16.2C0.437347 15.7029 0.303032 14.7627 0.800088 14.1L3.72589 10.1989C2.86177 9.15415 2.09533 7.97101 1.41787 6.70979C1.02585 5.97999 1.29969 5.07057 2.02949 4.67856Z
-
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/TimePicker.axaml b/src/Semi.Avalonia/Themes/Dark/TimePicker.axaml
index 8f0f635..d1981be 100644
--- a/src/Semi.Avalonia/Themes/Dark/TimePicker.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/TimePicker.axaml
@@ -1,7 +1,2 @@
-
-
- M12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23ZM13.5 6.5V11.3787L17.0607 14.9393C17.6464 15.5251 17.6464 16.4749 17.0607 17.0607C16.4749 17.6464 15.5251 17.6464 14.9393 17.0607L10.9393 13.0607C10.658 12.7794 10.5 12.3978 10.5 12V6.5C10.5 5.67157 11.1716 5 12 5C12.8284 5 13.5 5.67157 13.5 6.5Z
-
+
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/ToggleButton.axaml b/src/Semi.Avalonia/Themes/Dark/ToggleButton.axaml
index 0c35d26..03d0391 100644
--- a/src/Semi.Avalonia/Themes/Dark/ToggleButton.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/ToggleButton.axaml
@@ -1,17 +1,4 @@
-
-
- 14
- 600
-
- 12 6
- 16 10
- 6 2
- 1
- 3
-
+
@@ -78,7 +65,7 @@
-
+
@@ -94,4 +81,4 @@
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/ToggleSwitch.axaml b/src/Semi.Avalonia/Themes/Dark/ToggleSwitch.axaml
index 736383c..0d3ce91 100644
--- a/src/Semi.Avalonia/Themes/Dark/ToggleSwitch.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/ToggleSwitch.axaml
@@ -1,7 +1,4 @@
-
+
@@ -15,19 +12,4 @@
- 24
- 16
- 32
- 40
- 26
- 54
- 18
- 12
- 24
-
- 12
- 14
-
- 8 4
- 8 4
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/Tooltip.axaml b/src/Semi.Avalonia/Themes/Dark/Tooltip.axaml
index 7f3ab09..5b9f30b 100644
--- a/src/Semi.Avalonia/Themes/Dark/Tooltip.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/Tooltip.axaml
@@ -1,14 +1,5 @@
-
-
- M24 0V1C20 1 18.5 2 16.5 4C14.5 6 14 7 12 7C10 7 9.5 6 7.5 4C5.5 2 4 1 0 1V0H24Z
+
- 6
- 12 8
- 320
- 0
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/TreeView.axaml b/src/Semi.Avalonia/Themes/Dark/TreeView.axaml
index d5d2507..22802dd 100644
--- a/src/Semi.Avalonia/Themes/Dark/TreeView.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/TreeView.axaml
@@ -1,15 +1,6 @@
-
- 20
- 8
- 12, 0, 12, 0
-
- M9.65618 3.44015L18.6322 11.2454C19.0906 11.644 19.0906 12.356 18.6322 12.7546L9.65618 20.5598C9.00895 21.1226 8 20.6629 8 19.8052V4.19475C8 3.33705 9.00895 2.87734 9.65618 3.44015Z
-
+
-
+
@@ -19,7 +10,4 @@
-
- 8 0
- 0 4 8 4
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/Window.axaml b/src/Semi.Avalonia/Themes/Dark/Window.axaml
index 3edcca5..b26cd37 100644
--- a/src/Semi.Avalonia/Themes/Dark/Window.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/Window.axaml
@@ -1,5 +1,4 @@
-
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Dark/Dark.axaml b/src/Semi.Avalonia/Themes/Dark/_index.axaml
similarity index 98%
rename from src/Semi.Avalonia/Themes/Dark/Dark.axaml
rename to src/Semi.Avalonia/Themes/Dark/_index.axaml
index 03fb808..5b328e6 100644
--- a/src/Semi.Avalonia/Themes/Dark/Dark.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/_index.axaml
@@ -1,5 +1,4 @@
-
@@ -18,6 +17,7 @@
+
@@ -43,6 +43,5 @@
-
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/DarkTheme.axaml b/src/Semi.Avalonia/Themes/DarkTheme.axaml
index 62739ee..c4ee2ae 100644
--- a/src/Semi.Avalonia/Themes/DarkTheme.axaml
+++ b/src/Semi.Avalonia/Themes/DarkTheme.axaml
@@ -1,15 +1,14 @@
-
-
+
-
+
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Index.axaml b/src/Semi.Avalonia/Themes/Index.axaml
index 9a6bcf6..86c4758 100644
--- a/src/Semi.Avalonia/Themes/Index.axaml
+++ b/src/Semi.Avalonia/Themes/Index.axaml
@@ -2,17 +2,17 @@
-
-
+
+
-
+
+
-
diff --git a/src/Semi.Avalonia/Themes/Light/AutoCompleteBox.axaml b/src/Semi.Avalonia/Themes/Light/AutoCompleteBox.axaml
index 7c9823f..7fb1210 100644
--- a/src/Semi.Avalonia/Themes/Light/AutoCompleteBox.axaml
+++ b/src/Semi.Avalonia/Themes/Light/AutoCompleteBox.axaml
@@ -2,12 +2,4 @@
0 0 8 0 #1A000000
- 1
- 4
- 6
- 3
- 32
- 24
- 40
- 600
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/Border.axaml b/src/Semi.Avalonia/Themes/Light/Border.axaml
index fbdd48f..affef76 100644
--- a/src/Semi.Avalonia/Themes/Light/Border.axaml
+++ b/src/Semi.Avalonia/Themes/Light/Border.axaml
@@ -1,12 +1,5 @@
-
- White
+
+
- 4
- 20
- 4
- 1
0 0 14 0 #1A000000
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/Button.axaml b/src/Semi.Avalonia/Themes/Light/Button.axaml
index bc0746c..ec3144a 100644
--- a/src/Semi.Avalonia/Themes/Light/Button.axaml
+++ b/src/Semi.Avalonia/Themes/Light/Button.axaml
@@ -1,19 +1,6 @@
-
- 14
- 600
-
- 12 6
- 16 10
- 6 2
-
- 1
-
- 3
-
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
@@ -91,5 +78,4 @@
-
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/ButtonSpinner.axaml b/src/Semi.Avalonia/Themes/Light/ButtonSpinner.axaml
index 714d5b8..5183887 100644
--- a/src/Semi.Avalonia/Themes/Light/ButtonSpinner.axaml
+++ b/src/Semi.Avalonia/Themes/Light/ButtonSpinner.axaml
@@ -1,15 +1,8 @@
-
- M19.637 16.4369C19.0513 17.0227 18.1015 17.0227 17.5157 16.4369L11.8589 10.7801L6.20202 16.4369C5.61623 17.0227 4.66648 17.0227 4.0807 16.4369C3.49491 15.8511 3.49491 14.9014 4.0807 14.3156L10.7982 7.59809C11.384 7.01231 12.3337 7.01231 12.9195 7.59809L19.637 14.3156C20.2228 14.9014 20.2228 15.8511 19.637 16.4369Z
- M4.08045 7.59809C4.66624 7.01231 5.61599 7.01231 6.20177 7.59809L11.8586 13.2549L17.5155 7.59809C18.1013 7.01231 19.051 7.01231 19.6368 7.59809C20.2226 8.18388 20.2226 9.13363 19.6368 9.71941L12.9193 16.4369C12.3335 17.0227 11.3838 17.0227 10.798 16.4369L4.08045 9.71941C3.49467 9.13363 3.49467 8.18388 4.08045 7.59809Z
-
- 3
- 1
-
diff --git a/src/Semi.Avalonia/Themes/Light/Calendar.axaml b/src/Semi.Avalonia/Themes/Light/Calendar.axaml
index 7262aa6..004048d 100644
--- a/src/Semi.Avalonia/Themes/Light/Calendar.axaml
+++ b/src/Semi.Avalonia/Themes/Light/Calendar.axaml
@@ -1,37 +1,26 @@
-
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
- 1
- 6
- 40
- M16.2782 4.23933C16.864 4.82511 16.864 5.77486 16.2782 6.36065L10.6213 12.0175L16.2782 17.6744C16.864 18.2601 16.864 19.2099 16.2782 19.7957C15.6924 20.3815 14.7426 20.3815 14.1569 19.7957L7.43934 13.0782C6.85355 12.4924 6.85355 11.5426 7.43934 10.9568L14.1569 4.23933C14.7426 3.65354 15.6924 3.65354 16.2782 4.23933Z
- M7.43934 19.7957C6.85355 19.2099 6.85355 18.2601 7.43934 17.6744L13.0962 12.0175L7.43934 6.36065C6.85355 5.77486 6.85355 4.82511 7.43934 4.23933C8.02513 3.65354 8.97487 3.65354 9.56066 4.23933L16.2782 10.9568C16.864 11.5426 16.864 12.4924 16.2782 13.0782L9.56066 19.7957C8.97487 20.3815 8.02513 20.3815 7.43934 19.7957Z
- 0
- 600
- 3
- 3
@@ -45,7 +34,4 @@
-
- 240
- 250
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/CalendarDatePicker.axaml b/src/Semi.Avalonia/Themes/Light/CalendarDatePicker.axaml
index 4781976..fccdc95 100644
--- a/src/Semi.Avalonia/Themes/Light/CalendarDatePicker.axaml
+++ b/src/Semi.Avalonia/Themes/Light/CalendarDatePicker.axaml
@@ -1,28 +1,16 @@
-
- M4 20V8H20V20H4ZM2 4C2 2.89543 2.89543 2 4 2H20C21.1046 2 22 2.89543 22 4V20C22 21.1046 21.1046 22 20 22H4C2.89543 22 2 21.1046 2 20V4ZM6 10.5C6 10.2239 6.22386 10 6.5 10H8.5C8.77614 10 9 10.2239 9 10.5V12.5C9 12.7761 8.77614 13 8.5 13H6.5C6.22386 13 6 12.7761 6 12.5V10.5ZM6.5 15C6.22386 15 6 15.2239 6 15.5V17.5C6 17.7761 6.22386 18 6.5 18H8.5C8.77614 18 9 17.7761 9 17.5V15.5C9 15.2239 8.77614 15 8.5 15H6.5ZM10.5 10.5C10.5 10.2239 10.7239 10 11 10H13C13.2761 10 13.5 10.2239 13.5 10.5V12.5C13.5 12.7761 13.2761 13 13 13H11C10.7239 13 10.5 12.7761 10.5 12.5V10.5ZM11 15C10.7239 15 10.5 15.2239 10.5 15.5V17.5C10.5 17.7761 10.7239 18 11 18H13C13.2761 18 13.5 17.7761 13.5 17.5V15.5C13.5 15.2239 13.2761 15 13 15H11ZM15 10.5C15 10.2239 15.2239 10 15.5 10H17.5C17.7761 10 18 10.2239 18 10.5V12.5C18 12.7761 17.7761 13 17.5 13H15.5C15.2239 13 15 12.7761 15 12.5V10.5ZM15.5 15C15.2239 15 15 15.2239 15 15.5V17.5C15 17.7761 15.2239 18 15.5 18H17.5C17.7761 18 18 17.7761 18 17.5V15.5C18 15.2239 17.7761 15 17.5 15H15.5Z
-
- 1
- 3
-
0 0 8 0 #1A000000
- 30
- 22
- 38
- 32
- 24
- 40
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/CaptionButtons.axaml b/src/Semi.Avalonia/Themes/Light/CaptionButtons.axaml
index b73f10b..5846e21 100644
--- a/src/Semi.Avalonia/Themes/Light/CaptionButtons.axaml
+++ b/src/Semi.Avalonia/Themes/Light/CaptionButtons.axaml
@@ -1,14 +1,7 @@
-
- M13.46,12L19,17.54V19H17.54L12,13.46L6.46,19H5V17.54L10.54,12L5,6.46V5H6.46L12,10.54L17.54,5H19V6.46L13.46,12Z
- M4,4H20V20H4V4M6,8V18H18V8H6Z
- M20,14H4V10H20
- M4,8H8V4H20V16H16V20H4V8M16,8V14H18V6H10V8H16M6,12V18H14V12H6Z
- M10,21V19H6.41L10.91,14.5L9.5,13.09L5,17.59V14H3V21H10M14.5,10.91L19,6.41V10H21V3H14V5H17.59L13.09,9.5L14.5,10.91Z
- M19.5,3.09L15,7.59V4H13V11H20V9H16.41L20.91,4.5L19.5,3.09M4,13V15H7.59L3.09,19.5L4.5,20.91L9,16.41V20H11V13H4Z
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/Carousel.axaml b/src/Semi.Avalonia/Themes/Light/Carousel.axaml
index fb02b11..561a92f 100644
--- a/src/Semi.Avalonia/Themes/Light/Carousel.axaml
+++ b/src/Semi.Avalonia/Themes/Light/Carousel.axaml
@@ -1,7 +1,4 @@
-
- M16.2782 4.23933C16.864 4.82511 16.864 5.77486 16.2782 6.36065L10.6213 12.0175L16.2782 17.6744C16.864 18.2601 16.864 19.2099 16.2782 19.7957C15.6924 20.3815 14.7426 20.3815 14.1569 19.7957L7.43934 13.0782C6.85355 12.4924 6.85355 11.5426 7.43934 10.9568L14.1569 4.23933C14.7426 3.65354 15.6924 3.65354 16.2782 4.23933Z
-
@@ -9,8 +6,4 @@
-
- 48
- 8
- 8
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/CheckBox.axaml b/src/Semi.Avalonia/Themes/Light/CheckBox.axaml
index bc389a2..4218bd6 100644
--- a/src/Semi.Avalonia/Themes/Light/CheckBox.axaml
+++ b/src/Semi.Avalonia/Themes/Light/CheckBox.axaml
@@ -1,7 +1,6 @@
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
@@ -27,20 +26,6 @@
- 14
- 16
- 16
- 10
- 10
- 400
-
- 3
- 8 0 0 0
- 1
-
- M17.4111 7.30848C18.0692 7.81171 18.1947 8.75312 17.6915 9.41119L11.1915 17.9112C10.909 18.2806 10.4711 18.4981 10.0061 18.5C9.54105 18.5019 9.10143 18.288 8.81592 17.9209L5.31592 13.4209C4.80731 12.767 4.92512 11.8246 5.57904 11.316C6.23296 10.8074 7.17537 10.9252 7.68398 11.5791L9.98988 14.5438L15.3084 7.58884C15.8116 6.93077 16.7531 6.80525 17.4111 7.30848Z
- M5 12.5C5 11.6716 5.67157 11 6.5 11H17.5C18.3284 11 19 11.6716 19 12.5C19 13.3284 18.3284 14 17.5 14H6.5C5.67157 14 5 13.3284 5 12.5Z
-
@@ -48,9 +33,4 @@
-
- 1
- 16
- 3
-
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/ComboBox.axaml b/src/Semi.Avalonia/Themes/Light/ComboBox.axaml
index 40e6a61..46fe865 100644
--- a/src/Semi.Avalonia/Themes/Light/ComboBox.axaml
+++ b/src/Semi.Avalonia/Themes/Light/ComboBox.axaml
@@ -7,8 +7,6 @@
- 3
-
@@ -16,13 +14,9 @@
- 8 4
- 8 0
-
0 0 8 0 #1A000000
- 1
@@ -34,13 +28,6 @@
-
- M4.08045 7.59809C4.66624 7.01231 5.61599 7.01231 6.20177 7.59809L11.8586 13.2549L17.5155 7.59809C18.1013 7.01231 19.051 7.01231 19.6368 7.59809C20.2226 8.18388 20.2226 9.13363 19.6368 9.71941L12.9193 16.4369C12.3335 17.0227 11.3838 17.0227 10.798 16.4369L4.08045 9.71941C3.49467 9.13363 3.49467 8.18388 4.08045 7.59809Z
-
-
- 32
- 24
- 40
@@ -48,4 +35,4 @@
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/DataValidationErrors.axaml b/src/Semi.Avalonia/Themes/Light/DataValidationErrors.axaml
index 95dfb36..1116060 100644
--- a/src/Semi.Avalonia/Themes/Light/DataValidationErrors.axaml
+++ b/src/Semi.Avalonia/Themes/Light/DataValidationErrors.axaml
@@ -1,5 +1,4 @@
-
@@ -9,4 +8,4 @@
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/DatePicker.axaml b/src/Semi.Avalonia/Themes/Light/DatePicker.axaml
index 6964b5d..d1981be 100644
--- a/src/Semi.Avalonia/Themes/Light/DatePicker.axaml
+++ b/src/Semi.Avalonia/Themes/Light/DatePicker.axaml
@@ -1,4 +1,2 @@
-
-
- M4 20V8H20V20H4ZM2 4C2 2.89543 2.89543 2 4 2H20C21.1046 2 22 2.89543 22 4V20C22 21.1046 21.1046 22 20 22H4C2.89543 22 2 21.1046 2 20V4ZM6 10.5C6 10.2239 6.22386 10 6.5 10H8.5C8.77614 10 9 10.2239 9 10.5V12.5C9 12.7761 8.77614 13 8.5 13H6.5C6.22386 13 6 12.7761 6 12.5V10.5ZM6.5 15C6.22386 15 6 15.2239 6 15.5V17.5C6 17.7761 6.22386 18 6.5 18H8.5C8.77614 18 9 17.7761 9 17.5V15.5C9 15.2239 8.77614 15 8.5 15H6.5ZM10.5 10.5C10.5 10.2239 10.7239 10 11 10H13C13.2761 10 13.5 10.2239 13.5 10.5V12.5C13.5 12.7761 13.2761 13 13 13H11C10.7239 13 10.5 12.7761 10.5 12.5V10.5ZM11 15C10.7239 15 10.5 15.2239 10.5 15.5V17.5C10.5 17.7761 10.7239 18 11 18H13C13.2761 18 13.5 17.7761 13.5 17.5V15.5C13.5 15.2239 13.2761 15 13 15H11ZM15 10.5C15 10.2239 15.2239 10 15.5 10H17.5C17.7761 10 18 10.2239 18 10.5V12.5C18 12.7761 17.7761 13 17.5 13H15.5C15.2239 13 15 12.7761 15 12.5V10.5ZM15.5 15C15.2239 15 15 15.2239 15 15.5V17.5C15 17.7761 15.2239 18 15.5 18H17.5C17.7761 18 18 17.7761 18 17.5V15.5C18 15.2239 17.7761 15 17.5 15H15.5Z
-
+
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/DateTimePickerShared.axaml b/src/Semi.Avalonia/Themes/Light/DateTimePickerShared.axaml
index 4e8b885..cd685fb 100644
--- a/src/Semi.Avalonia/Themes/Light/DateTimePickerShared.axaml
+++ b/src/Semi.Avalonia/Themes/Light/DateTimePickerShared.axaml
@@ -1,11 +1,8 @@
-
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
- 0 3 0 6
@@ -14,13 +11,7 @@
- M6.45096 8.34102L11.247 2.86102C11.3408 2.75361 11.4566 2.66753 11.5865 2.60854C11.7163 2.54956 11.8573 2.51904 12 2.51904C12.1426 2.51904 12.2836 2.54956 12.4135 2.60854C12.5433 2.66753 12.6591 2.75361 12.753 2.86102L17.549 8.34102C18.115 8.98802 17.655 10 16.796 10H7.20396C6.34396 10 5.88496 8.98802 6.45096 8.34102Z
- M17.549 15.659L12.753 21.139C12.6591 21.2464 12.5434 21.3325 12.4135 21.3915C12.2836 21.4505 12.1427 21.481 12 21.481C11.8574 21.481 11.7164 21.4505 11.5865 21.3915C11.4566 21.3325 11.3409 21.2464 11.247 21.139L6.45101 15.659C5.88501 15.011 6.34501 14 7.20401 14H16.796C17.656 14 18.115 15.012 17.549 15.659Z
- M17.4111 7.30848C18.0692 7.81171 18.1947 8.75312 17.6915 9.41119L11.1915 17.9112C10.909 18.2806 10.4711 18.4981 10.0061 18.5C9.54105 18.5019 9.10143 18.288 8.81592 17.9209L5.31592 13.4209C4.80731 12.767 4.92512 11.8246 5.57904 11.316C6.23296 10.8074 7.17537 10.9252 7.68398 11.5791L9.98988 14.5438L15.3084 7.58884C15.8116 6.93077 16.7531 6.80525 17.4111 7.30848Z
- M17.6568 19.7782C18.2426 20.3639 19.1924 20.3639 19.7782 19.7782C20.3639 19.1924 20.3639 18.2426 19.7782 17.6568L14.1213 12L19.7782 6.34313C20.3639 5.75734 20.3639 4.8076 19.7782 4.22181C19.1924 3.63602 18.2426 3.63602 17.6568 4.22181L12 9.87866L6.34313 4.22181C5.75734 3.63602 4.8076 3.63602 4.22181 4.22181C3.63602 4.8076 3.63602 5.75734 4.22181 6.34313L9.87866 12L4.22181 17.6568C3.63602 18.2426 3.63602 19.1924 4.22181 19.7782C4.8076 20.3639 5.75734 20.3639 6.34313 19.7782L12 14.1213L17.6568 19.7782Z
-
- 30
@@ -34,15 +25,4 @@
-
- 0 0 8 0 #1A000000
- 16 0
- 8
-
- 24
- 32
- 40
-
- 1
- 3
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/DropDownButton.axaml b/src/Semi.Avalonia/Themes/Light/DropDownButton.axaml
index cd4f571..d1981be 100644
--- a/src/Semi.Avalonia/Themes/Light/DropDownButton.axaml
+++ b/src/Semi.Avalonia/Themes/Light/DropDownButton.axaml
@@ -1,4 +1,2 @@
-
-
- M4.08045 7.59809C4.66624 7.01231 5.61599 7.01231 6.20177 7.59809L11.8586 13.2549L17.5155 7.59809C18.1013 7.01231 19.051 7.01231 19.6368 7.59809C20.2226 8.18388 20.2226 9.13363 19.6368 9.71941L12.9193 16.4369C12.3335 17.0227 11.3838 17.0227 10.798 16.4369L4.08045 9.71941C3.49467 9.13363 3.49467 8.18388 4.08045 7.59809Z
-
+
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/Expander.axaml b/src/Semi.Avalonia/Themes/Light/Expander.axaml
index a4dc506..8787625 100644
--- a/src/Semi.Avalonia/Themes/Light/Expander.axaml
+++ b/src/Semi.Avalonia/Themes/Light/Expander.axaml
@@ -1,6 +1,4 @@
-
+
@@ -9,18 +7,4 @@
-
- 600
- 8
-
- 3
- 8 4
- 8
- 0 0 8 0
- 16 4 16 8
- 8 0 0 0
- 0 0 0 1
- 0 1 0 0
- 1 0 0 0
- 0 0 1 0
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/Flyout.axaml b/src/Semi.Avalonia/Themes/Light/Flyout.axaml
index bad27c3..7e7d9fd 100644
--- a/src/Semi.Avalonia/Themes/Light/Flyout.axaml
+++ b/src/Semi.Avalonia/Themes/Light/Flyout.axaml
@@ -1,18 +1,6 @@
-
+
- 400
- 1
0 0 8 0 #1A000000
- 100
- 100
- 600
- 600
- 6
- 8
-
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/GridSplitter.axaml b/src/Semi.Avalonia/Themes/Light/GridSplitter.axaml
index d422063..2667522 100644
--- a/src/Semi.Avalonia/Themes/Light/GridSplitter.axaml
+++ b/src/Semi.Avalonia/Themes/Light/GridSplitter.axaml
@@ -1,5 +1,4 @@
-
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/HeaderedContentControl.axaml b/src/Semi.Avalonia/Themes/Light/HeaderedContentControl.axaml
index 8c35c3d..ce87252 100644
--- a/src/Semi.Avalonia/Themes/Light/HeaderedContentControl.axaml
+++ b/src/Semi.Avalonia/Themes/Light/HeaderedContentControl.axaml
@@ -1,6 +1,4 @@
-
+
- 4
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/Label.axaml b/src/Semi.Avalonia/Themes/Light/Label.axaml
index b2ee04d..082d195 100644
--- a/src/Semi.Avalonia/Themes/Light/Label.axaml
+++ b/src/Semi.Avalonia/Themes/Light/Label.axaml
@@ -1,109 +1,95 @@
-
+
-
- 1
- 8 2
- 8 4
- 20
- 24
- 12
- 3
- 9999
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/ListBox.axaml b/src/Semi.Avalonia/Themes/Light/ListBox.axaml
index b4cd718..553ad5f 100644
--- a/src/Semi.Avalonia/Themes/Light/ListBox.axaml
+++ b/src/Semi.Avalonia/Themes/Light/ListBox.axaml
@@ -1,7 +1,5 @@
-
- 8 4
-
+
@@ -14,6 +12,86 @@
- 3
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/ManagedFileChooser.axaml b/src/Semi.Avalonia/Themes/Light/ManagedFileChooser.axaml
index f17ad09..d97dfae 100644
--- a/src/Semi.Avalonia/Themes/Light/ManagedFileChooser.axaml
+++ b/src/Semi.Avalonia/Themes/Light/ManagedFileChooser.axaml
@@ -1,7 +1,5 @@
-
- M20 18V20H13.5C9.91 20 7 17.09 7 13.5V7.83L3.91 10.92L2.5 9.5L8 4L13.5 9.5L12.09 10.91L9 7.83V13.5C9 16 11 18 13.5 18H20Z
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/Menu.axaml b/src/Semi.Avalonia/Themes/Light/Menu.axaml
index 15551a3..b2347f8 100644
--- a/src/Semi.Avalonia/Themes/Light/Menu.axaml
+++ b/src/Semi.Avalonia/Themes/Light/Menu.axaml
@@ -1,47 +1,24 @@
-
-
-
- M19.637 16.4369C19.0513 17.0227 18.1015 17.0227 17.5157 16.4369L11.8589 10.7801L6.20202 16.4369C5.61623 17.0227 4.66648 17.0227 4.0807 16.4369C3.49491 15.8511 3.49491 14.9014 4.0807 14.3156L10.7982 7.59809C11.384 7.01231 12.3337 7.01231 12.9195 7.59809L19.637 14.3156C20.2228 14.9014 20.2228 15.8511 19.637 16.4369Z
- M4.08045 7.59809C4.66624 7.01231 5.61599 7.01231 6.20177 7.59809L11.8586 13.2549L17.5155 7.59809C18.1013 7.01231 19.051 7.01231 19.6368 7.59809C20.2226 8.18388 20.2226 9.13363 19.6368 9.71941L12.9193 16.4369C12.3335 17.0227 11.3838 17.0227 10.798 16.4369L4.08045 9.71941C3.49467 9.13363 3.49467 8.18388 4.08045 7.59809Z
- M7.43934 19.7957C6.85355 19.2099 6.85355 18.2601 7.43934 17.6744L13.0962 12.0175L7.43934 6.36065C6.85355 5.77486 6.85355 4.82511 7.43934 4.23933C8.02513 3.65354 8.97487 3.65354 9.56066 4.23933L16.2782 10.9568C16.864 11.5426 16.864 12.4924 16.2782 13.0782L9.56066 19.7957C8.97487 20.3815 8.02513 20.3815 7.43934 19.7957Z
+
- 1
- 8
0 0 8 0 #1A000000
- 6
- 16
- 100
- 400
- 600
- 16 8
- 1
- 2
- 0 0 12 0
- 4 0
-
- 4 0
-
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/NotificationCard.axaml b/src/Semi.Avalonia/Themes/Light/NotificationCard.axaml
index a8ae94d..2f0f914 100644
--- a/src/Semi.Avalonia/Themes/Light/NotificationCard.axaml
+++ b/src/Semi.Avalonia/Themes/Light/NotificationCard.axaml
@@ -1,7 +1,4 @@
-
+
@@ -9,12 +6,5 @@
- 320
- 1
- 6
- 0 0 8 0 #1AFFFFFF
- M12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23ZM14 7C14 8.10457 13.1046 9 12 9C10.8954 9 10 8.10457 10 7C10 5.89543 10.8954 5 12 5C13.1046 5 14 5.89543 14 7ZM9 10.75C9 10.3358 9.33579 10 9.75 10H12.5C13.0523 10 13.5 10.4477 13.5 11V16.5H14.25C14.6642 16.5 15 16.8358 15 17.25C15 17.6642 14.6642 18 14.25 18H9.75C9.33579 18 9 17.6642 9 17.25C9 16.8358 9.33579 16.5 9.75 16.5H10.5V11.5H9.75C9.33579 11.5 9 11.1642 9 10.75Z
- M12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23ZM17.8831 9.82235L11.6854 17.4112C11.4029 17.7806 10.965 17.9981 10.5 18C10.035 18.0019 9.59533 17.788 9.30982 17.421L5.81604 13.4209C5.30744 12.767 5.42524 11.8246 6.07916 11.316C6.73308 10.8074 7.67549 10.9252 8.1841 11.5791L10.4838 14.0439L15.5 8C16.0032 7.34193 16.9446 7.21641 17.6027 7.71964C18.2608 8.22287 18.3863 9.16428 17.8831 9.82235Z
- M10.2268 2.3986L1.52616 19.0749C0.831449 20.4064 1.79747 22 3.29933 22H20.7007C22.2025 22 23.1686 20.4064 22.4739 19.0749L13.7732 2.3986C13.0254 0.965441 10.9746 0.965442 10.2268 2.3986ZM13.1415 14.0101C13.0603 14.5781 12.5739 15 12.0001 15C11.4263 15 10.9398 14.5781 10.8586 14.0101L10.2829 9.97992C10.1336 8.93495 10.9445 8.00002 12.0001 8.00002C13.0556 8.00002 13.8665 8.93495 13.7172 9.97992L13.1415 14.0101ZM13.5001 18.5C13.5001 19.3284 12.8285 20 12.0001 20C11.1716 20 10.5001 19.3284 10.5001 18.5C10.5001 17.6716 11.1716 17 12.0001 17C12.8285 17 13.5001 17.6716 13.5001 18.5Z
- M23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12ZM13.5 17.5C13.5 16.6716 12.8284 16 12 16C11.1716 16 10.5 16.6716 10.5 17.5C10.5 18.3284 11.1716 19 12 19C12.8284 19 13.5 18.3284 13.5 17.5ZM12 5C10.9138 5 10.0507 5.91244 10.1109 6.99692L10.4168 12.5023C10.4635 13.3426 11.1584 14 12 14C12.8416 14 13.5365 13.3426 13.5832 12.5023L13.8891 6.99692C13.9493 5.91244 13.0862 5 12 5Z
-
+ 0 0 8 0 #1A000000
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/NumericUpDown.axaml b/src/Semi.Avalonia/Themes/Light/NumericUpDown.axaml
index 27105a5..d1981be 100644
--- a/src/Semi.Avalonia/Themes/Light/NumericUpDown.axaml
+++ b/src/Semi.Avalonia/Themes/Light/NumericUpDown.axaml
@@ -1,7 +1,2 @@
-
-
- 3
- 32
- 24
- 40
-
+
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/Palette.axaml b/src/Semi.Avalonia/Themes/Light/Palette.axaml
index 25e68d3..a452166 100644
--- a/src/Semi.Avalonia/Themes/Light/Palette.axaml
+++ b/src/Semi.Avalonia/Themes/Light/Palette.axaml
@@ -1,5 +1,5 @@
-
+
#FEF2ED
#FEDDD2
#FDB7A5
@@ -408,4 +408,4 @@
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/ProgressBar.axaml b/src/Semi.Avalonia/Themes/Light/ProgressBar.axaml
index fb388c7..2944dbb 100644
--- a/src/Semi.Avalonia/Themes/Light/ProgressBar.axaml
+++ b/src/Semi.Avalonia/Themes/Light/ProgressBar.axaml
@@ -1,16 +1,13 @@
-
- 3
- 600
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/RadioButton.axaml b/src/Semi.Avalonia/Themes/Light/RadioButton.axaml
index e766323..935597a 100644
--- a/src/Semi.Avalonia/Themes/Light/RadioButton.axaml
+++ b/src/Semi.Avalonia/Themes/Light/RadioButton.axaml
@@ -1,12 +1,5 @@
-
- 16
- 6
- 14
- 0 2 8 0
-
+
+
@@ -28,28 +21,15 @@
-
- 3
- 3
- 3
-
- 600
- 16 2
- 16 4
- 24 6
-
- 12
- 12
- 14
-
+
@@ -57,19 +37,13 @@
- 16 12
-
+
-
-
-
- 3
-
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/RefreshContainer.axaml b/src/Semi.Avalonia/Themes/Light/RefreshContainer.axaml
index d39c60f..397a7bb 100644
--- a/src/Semi.Avalonia/Themes/Light/RefreshContainer.axaml
+++ b/src/Semi.Avalonia/Themes/Light/RefreshContainer.axaml
@@ -1,7 +1,4 @@
-
- 24
- M14.2 3.78966C9.66551 2.57466 5.00465 5.26561 3.78964 9.80007C3.12066 12.2967 3.63433 14.8301 4.99177 16.8102C5.46019 17.4935 5.28601 18.4271 4.60273 18.8955C3.91945 19.364 2.98581 19.1898 2.51739 18.5065C0.685557 15.8344 -0.0134454 12.4023 0.891867 9.02361C2.5357 2.88875 8.84157 -0.751945 14.9764 0.891885C21.1113 2.53572 24.752 8.84159 23.1082 14.9765C22.8937 15.7767 22.0712 16.2515 21.271 16.0371C20.4708 15.8227 19.996 15.0002 20.2104 14.2C21.4254 9.66553 18.7344 5.00467 14.2 3.78966Z
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/ScrollViewer.axaml b/src/Semi.Avalonia/Themes/Light/ScrollViewer.axaml
index 8530964..8ced04d 100644
--- a/src/Semi.Avalonia/Themes/Light/ScrollViewer.axaml
+++ b/src/Semi.Avalonia/Themes/Light/ScrollViewer.axaml
@@ -1,17 +1,8 @@
-
- 14
- 10
+
- M16.3176 6.95628V17.0878C16.3176 17.4871 15.8725 17.7253 15.5402 17.5038L7.94161 12.438C7.64474 12.2401 7.64474 11.8039 7.94161 11.606L15.5402 6.54025C15.8725 6.31873 16.3176 6.55693 16.3176 6.95628Z
- M9 17.0657V6.93425C9 6.5349 9.44507 6.29671 9.77735 6.51823L17.376 11.584C17.6728 11.7819 17.6728 12.2181 17.376 12.416L9.77735 17.4818C9.44507 17.7033 9 17.4651 9 17.0657Z
- M17.0839 16.3212H6.9524C6.55305 16.3212 6.31486 15.8761 6.53638 15.5438L11.6021 7.94521C11.8 7.64834 12.2363 7.64834 12.4342 7.94521L17.4999 15.5438C17.7214 15.8761 17.4832 16.3212 17.0839 16.3212Z
- M6.95249 7.72265L17.084 7.72265C17.4833 7.72265 17.7215 8.16772 17.5 8.5L12.4343 16.0986C12.2363 16.3955 11.8001 16.3955 11.6022 16.0986L6.53647 8.5C6.31495 8.16772 6.55315 7.72265 6.95249 7.72265Z
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/Slider.axaml b/src/Semi.Avalonia/Themes/Light/Slider.axaml
index 01d5543..57b2c29 100644
--- a/src/Semi.Avalonia/Themes/Light/Slider.axaml
+++ b/src/Semi.Avalonia/Themes/Light/Slider.axaml
@@ -1,28 +1,14 @@
-
-
+
- 4
- 3
- 16
- 16
- 24
- 0
- 0 0 1 1 #1A000000
- 4
- 4
- 2
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/SplitButton.axaml b/src/Semi.Avalonia/Themes/Light/SplitButton.axaml
index 8ef2922..d1981be 100644
--- a/src/Semi.Avalonia/Themes/Light/SplitButton.axaml
+++ b/src/Semi.Avalonia/Themes/Light/SplitButton.axaml
@@ -1,8 +1,2 @@
-
-
- M20.5598 9.65618L12.7546 18.6322C12.3559 19.0906 11.644 19.0906 11.2453 18.6322L3.4401 9.65618C2.8773 9.00895 3.33701 8 4.19471 8L19.8052 8C20.6629 8 21.1226 9.00895 20.5598 9.65618Z
- 1
-
+
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/SplitView.axaml b/src/Semi.Avalonia/Themes/Light/SplitView.axaml
index c6b235d..e29053f 100644
--- a/src/Semi.Avalonia/Themes/Light/SplitView.axaml
+++ b/src/Semi.Avalonia/Themes/Light/SplitView.axaml
@@ -1,13 +1,4 @@
-
-
- 320
- 48
- 00:00:00.2
- 00:00:00.1
- 0.1,0.9,0.2,1.0
+
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/TabControl.axaml b/src/Semi.Avalonia/Themes/Light/TabControl.axaml
index 9017e8d..d1981be 100644
--- a/src/Semi.Avalonia/Themes/Light/TabControl.axaml
+++ b/src/Semi.Avalonia/Themes/Light/TabControl.axaml
@@ -1,3 +1,2 @@
-
-
-
+
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/TabItem.axaml b/src/Semi.Avalonia/Themes/Light/TabItem.axaml
index 664042f..eb37e1c 100644
--- a/src/Semi.Avalonia/Themes/Light/TabItem.axaml
+++ b/src/Semi.Avalonia/Themes/Light/TabItem.axaml
@@ -1,7 +1,4 @@
-
-
+
@@ -14,6 +11,4 @@
- 600
-
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/TextBlock.axaml b/src/Semi.Avalonia/Themes/Light/TextBlock.axaml
index 4f7474b..cef1903 100644
--- a/src/Semi.Avalonia/Themes/Light/TextBlock.axaml
+++ b/src/Semi.Avalonia/Themes/Light/TextBlock.axaml
@@ -1,6 +1,4 @@
-
+
@@ -15,28 +13,4 @@
-
- 12
-
- 14
- 32
- 28
- 24
- 20
- 18
- 16
- 400
- 600
- 600
- 600
-
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 2
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/TextBox.axaml b/src/Semi.Avalonia/Themes/Light/TextBox.axaml
index b4f9efd..7153e51 100644
--- a/src/Semi.Avalonia/Themes/Light/TextBox.axaml
+++ b/src/Semi.Avalonia/Themes/Light/TextBox.axaml
@@ -24,31 +24,6 @@
- 30
- 22
- 38
- 32
- 24
- 40
-
- 3
-
- 3 0 0 3
- 0 3 3 0
- 3 0 0 3
- 0 3 3 0
- 0 0 0 0
-
- 0 0 8 0
- 8 0 0 0
- 8 0
- 1
-
-
- M12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23ZM17.0352 16.8626C16.4597 17.4585 15.5101 17.4751 14.9142 16.8996L12.0368 14.121L9.25822 16.9984C8.68274 17.5943 7.73314 17.6109 7.13722 17.0354C6.5413 16.4599 6.52472 15.5103 7.1002 14.9144L9.87883 12.037L7.00147 9.2584C6.40555 8.68293 6.38897 7.73332 6.96445 7.1374C7.53992 6.54148 8.48953 6.52491 9.08545 7.10038L11.9628 9.87901L14.7414 7.00165C15.3169 6.40573 16.2665 6.38916 16.8624 6.96463C17.4584 7.54011 17.4749 8.48971 16.8995 9.08563L14.1208 11.963L16.9982 14.7416C17.5941 15.3171 17.6107 16.2667 17.0352 16.8626Z
- M12 4C5 4 1 10 1 12C1 14 5 20 12 20C19 20 23 14 23 12C23 10 19 4 12 4ZM17 12C17 14.7614 14.7614 17 12 17C9.23858 17 7 14.7614 7 12C7 9.23858 9.23858 7 12 7C14.7614 7 17 9.23858 17 12ZM12 15C13.6569 15 15 13.6569 15 12C15 10.3431 13.6569 9 12 9C10.3431 9 9 10.3431 9 12C9 13.6569 10.3431 15 12 15Z
- M2.02949 4.67856C2.7593 4.28654 3.66871 4.56038 4.06073 5.29018C6.21313 9.29726 8.83179 11.5 12.0001 11.5C15.1685 11.5 17.7871 9.29726 19.9395 5.29018C20.3315 4.56038 21.241 4.28655 21.9708 4.67856C22.7006 5.07058 22.9744 5.97999 22.5824 6.7098C21.9049 7.97104 21.1385 9.15419 20.2743 10.199L23.2001 14.1C23.6971 14.7627 23.5628 15.7029 22.9001 16.2C22.2373 16.697 21.2971 16.5627 20.8001 15.9L18.1186 12.3246C17.448 12.8501 16.7322 13.2957 15.9687 13.6441L17.4046 17.4733C17.6955 18.249 17.3025 19.1136 16.5268 19.4045C15.7511 19.6954 14.8865 19.3024 14.5956 18.5267L13.0956 14.5267C13.0852 14.4988 13.0756 14.4709 13.0669 14.4428C12.7193 14.4806 12.3638 14.5 12.0001 14.5C11.6365 14.5 11.281 14.4806 10.9333 14.4428C10.9246 14.4709 10.9151 14.4988 10.9046 14.5267L9.40463 18.5267C9.11375 19.3024 8.24913 19.6954 7.47345 19.4045C6.69777 19.1136 6.30476 18.249 6.59564 17.4733L8.03159 13.6441C7.26806 13.2957 6.55223 12.8501 5.88163 12.3246L3.20009 15.9C2.70303 16.5627 1.76283 16.697 1.10009 16.2C0.437347 15.7029 0.303032 14.7627 0.800088 14.1L3.72589 10.1989C2.86177 9.15415 2.09533 7.97101 1.41787 6.70979C1.02585 5.97999 1.29969 5.07057 2.02949 4.67856Z
-
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/TimePicker.axaml b/src/Semi.Avalonia/Themes/Light/TimePicker.axaml
index 8f0f635..d1981be 100644
--- a/src/Semi.Avalonia/Themes/Light/TimePicker.axaml
+++ b/src/Semi.Avalonia/Themes/Light/TimePicker.axaml
@@ -1,7 +1,2 @@
-
-
- M12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23ZM13.5 6.5V11.3787L17.0607 14.9393C17.6464 15.5251 17.6464 16.4749 17.0607 17.0607C16.4749 17.6464 15.5251 17.6464 14.9393 17.0607L10.9393 13.0607C10.658 12.7794 10.5 12.3978 10.5 12V6.5C10.5 5.67157 11.1716 5 12 5C12.8284 5 13.5 5.67157 13.5 6.5Z
-
+
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/ToggleButton.axaml b/src/Semi.Avalonia/Themes/Light/ToggleButton.axaml
index 714ef0c..595cd9e 100644
--- a/src/Semi.Avalonia/Themes/Light/ToggleButton.axaml
+++ b/src/Semi.Avalonia/Themes/Light/ToggleButton.axaml
@@ -1,17 +1,4 @@
-
-
- 14
- 600
-
- 12 6
- 16 10
- 6 2
- 1
- 3
-
+
@@ -94,4 +81,4 @@
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/ToggleSwitch.axaml b/src/Semi.Avalonia/Themes/Light/ToggleSwitch.axaml
index 34f4d87..a01024b 100644
--- a/src/Semi.Avalonia/Themes/Light/ToggleSwitch.axaml
+++ b/src/Semi.Avalonia/Themes/Light/ToggleSwitch.axaml
@@ -1,7 +1,4 @@
-
+
@@ -15,22 +12,4 @@
-
- 0 0 1 1 #222E3238
-
- 24
- 16
- 32
- 40
- 26
- 54
- 18
- 12
- 24
-
- 12
- 14
-
- 8 4
- 8 4
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/Tooltip.axaml b/src/Semi.Avalonia/Themes/Light/Tooltip.axaml
index 895ccee..4a81dce 100644
--- a/src/Semi.Avalonia/Themes/Light/Tooltip.axaml
+++ b/src/Semi.Avalonia/Themes/Light/Tooltip.axaml
@@ -1,14 +1,5 @@
-
-
- M24 0V1C20 1 18.5 2 16.5 4C14.5 6 14 7 12 7C10 7 9.5 6 7.5 4C5.5 2 4 1 0 1V0H24Z
+
- 6
- 12 8
- 320
- 0
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/TreeView.axaml b/src/Semi.Avalonia/Themes/Light/TreeView.axaml
index 6146a23..96e61d4 100644
--- a/src/Semi.Avalonia/Themes/Light/TreeView.axaml
+++ b/src/Semi.Avalonia/Themes/Light/TreeView.axaml
@@ -1,13 +1,4 @@
-
- 20
- 8
- 12, 0, 12, 0
-
- M9.65618 3.44015L18.6322 11.2454C19.0906 11.644 19.0906 12.356 18.6322 12.7546L9.65618 20.5598C9.00895 21.1226 8 20.6629 8 19.8052V4.19475C8 3.33705 9.00895 2.87734 9.65618 3.44015Z
-
+
@@ -19,7 +10,4 @@
-
- 8 0
- 0 4 8 4
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/Window.axaml b/src/Semi.Avalonia/Themes/Light/Window.axaml
index 79237c5..b2e8f39 100644
--- a/src/Semi.Avalonia/Themes/Light/Window.axaml
+++ b/src/Semi.Avalonia/Themes/Light/Window.axaml
@@ -1,5 +1,4 @@
-
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Light/Light.axaml b/src/Semi.Avalonia/Themes/Light/_index.axaml
similarity index 99%
rename from src/Semi.Avalonia/Themes/Light/Light.axaml
rename to src/Semi.Avalonia/Themes/Light/_index.axaml
index 3eb48db..3baba8f 100644
--- a/src/Semi.Avalonia/Themes/Light/Light.axaml
+++ b/src/Semi.Avalonia/Themes/Light/_index.axaml
@@ -17,6 +17,7 @@
+
@@ -42,7 +43,5 @@
-
-
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/LightTheme.axaml b/src/Semi.Avalonia/Themes/LightTheme.axaml
index c6b6155..00dced9 100644
--- a/src/Semi.Avalonia/Themes/LightTheme.axaml
+++ b/src/Semi.Avalonia/Themes/LightTheme.axaml
@@ -1,15 +1,14 @@
-
-
-
+
+
-
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/AutoCompleteBox.axaml b/src/Semi.Avalonia/Themes/Shared/AutoCompleteBox.axaml
new file mode 100644
index 0000000..ee61e1d
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/AutoCompleteBox.axaml
@@ -0,0 +1,10 @@
+
+ 1
+ 4
+ 6
+ 3
+ 32
+ 24
+ 40
+ 600
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/Border.axaml b/src/Semi.Avalonia/Themes/Shared/Border.axaml
new file mode 100644
index 0000000..ba9887f
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/Border.axaml
@@ -0,0 +1,6 @@
+
+ 4
+ 20
+ 4
+ 1
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/Button.axaml b/src/Semi.Avalonia/Themes/Shared/Button.axaml
new file mode 100644
index 0000000..275ccea
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/Button.axaml
@@ -0,0 +1,12 @@
+
+ 14
+ 600
+
+ 12 6
+ 16 10
+ 6 2
+
+ 1
+
+ 3
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/ButtonSpinner.axaml b/src/Semi.Avalonia/Themes/Shared/ButtonSpinner.axaml
new file mode 100644
index 0000000..cec5d0c
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/ButtonSpinner.axaml
@@ -0,0 +1,7 @@
+
+ M19.637 16.4369C19.0513 17.0227 18.1015 17.0227 17.5157 16.4369L11.8589 10.7801L6.20202 16.4369C5.61623 17.0227 4.66648 17.0227 4.0807 16.4369C3.49491 15.8511 3.49491 14.9014 4.0807 14.3156L10.7982 7.59809C11.384 7.01231 12.3337 7.01231 12.9195 7.59809L19.637 14.3156C20.2228 14.9014 20.2228 15.8511 19.637 16.4369Z
+ M4.08045 7.59809C4.66624 7.01231 5.61599 7.01231 6.20177 7.59809L11.8586 13.2549L17.5155 7.59809C18.1013 7.01231 19.051 7.01231 19.6368 7.59809C20.2226 8.18388 20.2226 9.13363 19.6368 9.71941L12.9193 16.4369C12.3335 17.0227 11.3838 17.0227 10.798 16.4369L4.08045 9.71941C3.49467 9.13363 3.49467 8.18388 4.08045 7.59809Z
+
+ 3
+ 1
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/Calendar.axaml b/src/Semi.Avalonia/Themes/Shared/Calendar.axaml
new file mode 100644
index 0000000..d8a7552
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/Calendar.axaml
@@ -0,0 +1,15 @@
+
+ 1
+ 6
+ 40
+ M16.2782 4.23933C16.864 4.82511 16.864 5.77486 16.2782 6.36065L10.6213 12.0175L16.2782 17.6744C16.864 18.2601 16.864 19.2099 16.2782 19.7957C15.6924 20.3815 14.7426 20.3815 14.1569 19.7957L7.43934 13.0782C6.85355 12.4924 6.85355 11.5426 7.43934 10.9568L14.1569 4.23933C14.7426 3.65354 15.6924 3.65354 16.2782 4.23933Z
+ M7.43934 19.7957C6.85355 19.2099 6.85355 18.2601 7.43934 17.6744L13.0962 12.0175L7.43934 6.36065C6.85355 5.77486 6.85355 4.82511 7.43934 4.23933C8.02513 3.65354 8.97487 3.65354 9.56066 4.23933L16.2782 10.9568C16.864 11.5426 16.864 12.4924 16.2782 13.0782L9.56066 19.7957C8.97487 20.3815 8.02513 20.3815 7.43934 19.7957Z
+
+ 0
+ 600
+ 3
+ 3
+
+ 240
+ 250
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/CalendarDatePicker.axaml b/src/Semi.Avalonia/Themes/Shared/CalendarDatePicker.axaml
new file mode 100644
index 0000000..7c4128b
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/CalendarDatePicker.axaml
@@ -0,0 +1,11 @@
+
+ M4 20V8H20V20H4ZM2 4C2 2.89543 2.89543 2 4 2H20C21.1046 2 22 2.89543 22 4V20C22 21.1046 21.1046 22 20 22H4C2.89543 22 2 21.1046 2 20V4ZM6 10.5C6 10.2239 6.22386 10 6.5 10H8.5C8.77614 10 9 10.2239 9 10.5V12.5C9 12.7761 8.77614 13 8.5 13H6.5C6.22386 13 6 12.7761 6 12.5V10.5ZM6.5 15C6.22386 15 6 15.2239 6 15.5V17.5C6 17.7761 6.22386 18 6.5 18H8.5C8.77614 18 9 17.7761 9 17.5V15.5C9 15.2239 8.77614 15 8.5 15H6.5ZM10.5 10.5C10.5 10.2239 10.7239 10 11 10H13C13.2761 10 13.5 10.2239 13.5 10.5V12.5C13.5 12.7761 13.2761 13 13 13H11C10.7239 13 10.5 12.7761 10.5 12.5V10.5ZM11 15C10.7239 15 10.5 15.2239 10.5 15.5V17.5C10.5 17.7761 10.7239 18 11 18H13C13.2761 18 13.5 17.7761 13.5 17.5V15.5C13.5 15.2239 13.2761 15 13 15H11ZM15 10.5C15 10.2239 15.2239 10 15.5 10H17.5C17.7761 10 18 10.2239 18 10.5V12.5C18 12.7761 17.7761 13 17.5 13H15.5C15.2239 13 15 12.7761 15 12.5V10.5ZM15.5 15C15.2239 15 15 15.2239 15 15.5V17.5C15 17.7761 15.2239 18 15.5 18H17.5C17.7761 18 18 17.7761 18 17.5V15.5C18 15.2239 17.7761 15 17.5 15H15.5Z
+ 1
+ 3
+ 30
+ 22
+ 38
+ 32
+ 24
+ 40
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/CaptionButtons.axaml b/src/Semi.Avalonia/Themes/Shared/CaptionButtons.axaml
new file mode 100644
index 0000000..4ab5b16
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/CaptionButtons.axaml
@@ -0,0 +1,8 @@
+
+ M13.46,12L19,17.54V19H17.54L12,13.46L6.46,19H5V17.54L10.54,12L5,6.46V5H6.46L12,10.54L17.54,5H19V6.46L13.46,12Z
+ M4,4H20V20H4V4M6,8V18H18V8H6Z
+ M20,14H4V10H20
+ M4,8H8V4H20V16H16V20H4V8M16,8V14H18V6H10V8H16M6,12V18H14V12H6Z
+ M10,21V19H6.41L10.91,14.5L9.5,13.09L5,17.59V14H3V21H10M14.5,10.91L19,6.41V10H21V3H14V5H17.59L13.09,9.5L14.5,10.91Z
+ M19.5,3.09L15,7.59V4H13V11H20V9H16.41L20.91,4.5L19.5,3.09M4,13V15H7.59L3.09,19.5L4.5,20.91L9,16.41V20H11V13H4Z
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/Carousel.axaml b/src/Semi.Avalonia/Themes/Shared/Carousel.axaml
new file mode 100644
index 0000000..c225086
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/Carousel.axaml
@@ -0,0 +1,7 @@
+
+ M16.2782 4.23933C16.864 4.82511 16.864 5.77486 16.2782 6.36065L10.6213 12.0175L16.2782 17.6744C16.864 18.2601 16.864 19.2099 16.2782 19.7957C15.6924 20.3815 14.7426 20.3815 14.1569 19.7957L7.43934 13.0782C6.85355 12.4924 6.85355 11.5426 7.43934 10.9568L14.1569 4.23933C14.7426 3.65354 15.6924 3.65354 16.2782 4.23933Z
+
+ 48
+ 8
+ 8
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/CheckBox.axaml b/src/Semi.Avalonia/Themes/Shared/CheckBox.axaml
new file mode 100644
index 0000000..f00ba9d
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/CheckBox.axaml
@@ -0,0 +1,19 @@
+
+ 14
+ 16
+ 16
+ 10
+ 10
+ 400
+
+ 3
+ 8 0 0 0
+ 1
+
+ M17.4111 7.30848C18.0692 7.81171 18.1947 8.75312 17.6915 9.41119L11.1915 17.9112C10.909 18.2806 10.4711 18.4981 10.0061 18.5C9.54105 18.5019 9.10143 18.288 8.81592 17.9209L5.31592 13.4209C4.80731 12.767 4.92512 11.8246 5.57904 11.316C6.23296 10.8074 7.17537 10.9252 7.68398 11.5791L9.98988 14.5438L15.3084 7.58884C15.8116 6.93077 16.7531 6.80525 17.4111 7.30848Z
+ M5 12.5C5 11.6716 5.67157 11 6.5 11H17.5C18.3284 11 19 11.6716 19 12.5C19 13.3284 18.3284 14 17.5 14H6.5C5.67157 14 5 13.3284 5 12.5Z
+
+ 1
+ 16
+ 3
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/ComboBox.axaml b/src/Semi.Avalonia/Themes/Shared/ComboBox.axaml
new file mode 100644
index 0000000..23cbd48
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/ComboBox.axaml
@@ -0,0 +1,16 @@
+
+ 3
+
+ 8 4
+ 8 0
+
+ 1
+
+
+ M4.08045 7.59809C4.66624 7.01231 5.61599 7.01231 6.20177 7.59809L11.8586 13.2549L17.5155 7.59809C18.1013 7.01231 19.051 7.01231 19.6368 7.59809C20.2226 8.18388 20.2226 9.13363 19.6368 9.71941L12.9193 16.4369C12.3335 17.0227 11.3838 17.0227 10.798 16.4369L4.08045 9.71941C3.49467 9.13363 3.49467 8.18388 4.08045 7.59809Z
+
+
+ 32
+ 24
+ 40
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/DataValidationErrors.axaml b/src/Semi.Avalonia/Themes/Shared/DataValidationErrors.axaml
new file mode 100644
index 0000000..d1981be
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/DataValidationErrors.axaml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/DatePicker.axaml b/src/Semi.Avalonia/Themes/Shared/DatePicker.axaml
new file mode 100644
index 0000000..9503121
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/DatePicker.axaml
@@ -0,0 +1,3 @@
+
+ M4 20V8H20V20H4ZM2 4C2 2.89543 2.89543 2 4 2H20C21.1046 2 22 2.89543 22 4V20C22 21.1046 21.1046 22 20 22H4C2.89543 22 2 21.1046 2 20V4ZM6 10.5C6 10.2239 6.22386 10 6.5 10H8.5C8.77614 10 9 10.2239 9 10.5V12.5C9 12.7761 8.77614 13 8.5 13H6.5C6.22386 13 6 12.7761 6 12.5V10.5ZM6.5 15C6.22386 15 6 15.2239 6 15.5V17.5C6 17.7761 6.22386 18 6.5 18H8.5C8.77614 18 9 17.7761 9 17.5V15.5C9 15.2239 8.77614 15 8.5 15H6.5ZM10.5 10.5C10.5 10.2239 10.7239 10 11 10H13C13.2761 10 13.5 10.2239 13.5 10.5V12.5C13.5 12.7761 13.2761 13 13 13H11C10.7239 13 10.5 12.7761 10.5 12.5V10.5ZM11 15C10.7239 15 10.5 15.2239 10.5 15.5V17.5C10.5 17.7761 10.7239 18 11 18H13C13.2761 18 13.5 17.7761 13.5 17.5V15.5C13.5 15.2239 13.2761 15 13 15H11ZM15 10.5C15 10.2239 15.2239 10 15.5 10H17.5C17.7761 10 18 10.2239 18 10.5V12.5C18 12.7761 17.7761 13 17.5 13H15.5C15.2239 13 15 12.7761 15 12.5V10.5ZM15.5 15C15.2239 15 15 15.2239 15 15.5V17.5C15 17.7761 15.2239 18 15.5 18H17.5C17.7761 18 18 17.7761 18 17.5V15.5C18 15.2239 17.7761 15 17.5 15H15.5Z
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/DateTimePickerShared.axaml b/src/Semi.Avalonia/Themes/Shared/DateTimePickerShared.axaml
new file mode 100644
index 0000000..7135f3e
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/DateTimePickerShared.axaml
@@ -0,0 +1,20 @@
+
+ 0 3 0 6
+ M6.45096 8.34102L11.247 2.86102C11.3408 2.75361 11.4566 2.66753 11.5865 2.60854C11.7163 2.54956 11.8573 2.51904 12 2.51904C12.1426 2.51904 12.2836 2.54956 12.4135 2.60854C12.5433 2.66753 12.6591 2.75361 12.753 2.86102L17.549 8.34102C18.115 8.98802 17.655 10 16.796 10H7.20396C6.34396 10 5.88496 8.98802 6.45096 8.34102Z
+ M17.549 15.659L12.753 21.139C12.6591 21.2464 12.5434 21.3325 12.4135 21.3915C12.2836 21.4505 12.1427 21.481 12 21.481C11.8574 21.481 11.7164 21.4505 11.5865 21.3915C11.4566 21.3325 11.3409 21.2464 11.247 21.139L6.45101 15.659C5.88501 15.011 6.34501 14 7.20401 14H16.796C17.656 14 18.115 15.012 17.549 15.659Z
+ M17.4111 7.30848C18.0692 7.81171 18.1947 8.75312 17.6915 9.41119L11.1915 17.9112C10.909 18.2806 10.4711 18.4981 10.0061 18.5C9.54105 18.5019 9.10143 18.288 8.81592 17.9209L5.31592 13.4209C4.80731 12.767 4.92512 11.8246 5.57904 11.316C6.23296 10.8074 7.17537 10.9252 7.68398 11.5791L9.98988 14.5438L15.3084 7.58884C15.8116 6.93077 16.7531 6.80525 17.4111 7.30848Z
+ M17.6568 19.7782C18.2426 20.3639 19.1924 20.3639 19.7782 19.7782C20.3639 19.1924 20.3639 18.2426 19.7782 17.6568L14.1213 12L19.7782 6.34313C20.3639 5.75734 20.3639 4.8076 19.7782 4.22181C19.1924 3.63602 18.2426 3.63602 17.6568 4.22181L12 9.87866L6.34313 4.22181C5.75734 3.63602 4.8076 3.63602 4.22181 4.22181C3.63602 4.8076 3.63602 5.75734 4.22181 6.34313L9.87866 12L4.22181 17.6568C3.63602 18.2426 3.63602 19.1924 4.22181 19.7782C4.8076 20.3639 5.75734 20.3639 6.34313 19.7782L12 14.1213L17.6568 19.7782Z
+
+ 30
+
+
+ 16 0
+ 8
+
+ 24
+ 32
+ 40
+
+ 1
+ 3
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/DropDownButton.axaml b/src/Semi.Avalonia/Themes/Shared/DropDownButton.axaml
new file mode 100644
index 0000000..ee0f49f
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/DropDownButton.axaml
@@ -0,0 +1,3 @@
+
+ M4.08045 7.59809C4.66624 7.01231 5.61599 7.01231 6.20177 7.59809L11.8586 13.2549L17.5155 7.59809C18.1013 7.01231 19.051 7.01231 19.6368 7.59809C20.2226 8.18388 20.2226 9.13363 19.6368 9.71941L12.9193 16.4369C12.3335 17.0227 11.3838 17.0227 10.798 16.4369L4.08045 9.71941C3.49467 9.13363 3.49467 8.18388 4.08045 7.59809Z
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/Expander.axaml b/src/Semi.Avalonia/Themes/Shared/Expander.axaml
new file mode 100644
index 0000000..969cec3
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/Expander.axaml
@@ -0,0 +1,15 @@
+
+ 600
+ 8
+
+ 3
+ 8 4
+ 8
+ 0 0 8 0
+ 16 4 16 8
+ 8 0 0 0
+ 0 0 0 1
+ 0 1 0 0
+ 1 0 0 0
+ 0 0 1 0
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/Flyout.axaml b/src/Semi.Avalonia/Themes/Shared/Flyout.axaml
new file mode 100644
index 0000000..62aff56
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/Flyout.axaml
@@ -0,0 +1,10 @@
+
+ 400
+ 1
+ 100
+ 100
+ 600
+ 600
+ 6
+ 8
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/GridSplitter.axaml b/src/Semi.Avalonia/Themes/Shared/GridSplitter.axaml
new file mode 100644
index 0000000..d1981be
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/GridSplitter.axaml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/HeaderedContentControl.axaml b/src/Semi.Avalonia/Themes/Shared/HeaderedContentControl.axaml
new file mode 100644
index 0000000..c6e24ac
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/HeaderedContentControl.axaml
@@ -0,0 +1,3 @@
+
+ 4
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/Label.axaml b/src/Semi.Avalonia/Themes/Shared/Label.axaml
new file mode 100644
index 0000000..ffc7296
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/Label.axaml
@@ -0,0 +1,10 @@
+
+ 1
+ 8 2
+ 8 4
+ 20
+ 24
+ 12
+ 3
+ 9999
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/ListBox.axaml b/src/Semi.Avalonia/Themes/Shared/ListBox.axaml
new file mode 100644
index 0000000..4a86ea2
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/ListBox.axaml
@@ -0,0 +1,46 @@
+
+
+ 8 4
+ 3
+
+
+ 16
+ 6
+ 14
+ 0 2 8 0
+ 3
+
+
+ 3
+
+ 600
+ 16 2
+ 16 4
+ 24 6
+
+ 12
+ 12
+ 14
+
+
+ 16 12
+ 3
+
+
+ 14
+ 16
+ 16
+ 10
+ 10
+
+ 3
+ 1
+
+ M17.4111 7.30848C18.0692 7.81171 18.1947 8.75312 17.6915 9.41119L11.1915 17.9112C10.909 18.2806 10.4711 18.4981 10.0061 18.5C9.54105 18.5019 9.10143 18.288 8.81592 17.9209L5.31592 13.4209C4.80731 12.767 4.92512 11.8246 5.57904 11.316C6.23296 10.8074 7.17537 10.9252 7.68398 11.5791L9.98988 14.5438L15.3084 7.58884C15.8116 6.93077 16.7531 6.80525 17.4111 7.30848Z
+ M5 12.5C5 11.6716 5.67157 11 6.5 11H17.5C18.3284 11 19 11.6716 19 12.5C19 13.3284 18.3284 14 17.5 14H6.5C5.67157 14 5 13.3284 5 12.5Z
+
+
+ 1
+ 16
+ 3
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/ManagedFileChooser.axaml b/src/Semi.Avalonia/Themes/Shared/ManagedFileChooser.axaml
new file mode 100644
index 0000000..26a4f0a
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/ManagedFileChooser.axaml
@@ -0,0 +1,3 @@
+
+ M20 18V20H13.5C9.91 20 7 17.09 7 13.5V7.83L3.91 10.92L2.5 9.5L8 4L13.5 9.5L12.09 10.91L9 7.83V13.5C9 16 11 18 13.5 18H20Z
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/Menu.axaml b/src/Semi.Avalonia/Themes/Shared/Menu.axaml
new file mode 100644
index 0000000..95188b1
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/Menu.axaml
@@ -0,0 +1,23 @@
+
+ M19.637 16.4369C19.0513 17.0227 18.1015 17.0227 17.5157 16.4369L11.8589 10.7801L6.20202 16.4369C5.61623 17.0227 4.66648 17.0227 4.0807 16.4369C3.49491 15.8511 3.49491 14.9014 4.0807 14.3156L10.7982 7.59809C11.384 7.01231 12.3337 7.01231 12.9195 7.59809L19.637 14.3156C20.2228 14.9014 20.2228 15.8511 19.637 16.4369Z
+ M4.08045 7.59809C4.66624 7.01231 5.61599 7.01231 6.20177 7.59809L11.8586 13.2549L17.5155 7.59809C18.1013 7.01231 19.051 7.01231 19.6368 7.59809C20.2226 8.18388 20.2226 9.13363 19.6368 9.71941L12.9193 16.4369C12.3335 17.0227 11.3838 17.0227 10.798 16.4369L4.08045 9.71941C3.49467 9.13363 3.49467 8.18388 4.08045 7.59809Z
+ M7.43934 19.7957C6.85355 19.2099 6.85355 18.2601 7.43934 17.6744L13.0962 12.0175L7.43934 6.36065C6.85355 5.77486 6.85355 4.82511 7.43934 4.23933C8.02513 3.65354 8.97487 3.65354 9.56066 4.23933L16.2782 10.9568C16.864 11.5426 16.864 12.4924 16.2782 13.0782L9.56066 19.7957C8.97487 20.3815 8.02513 20.3815 7.43934 19.7957Z
+
+ 1
+ 8
+ 6
+ 16
+ 100
+ 400
+ 600
+
+
+ 16 8
+
+ 1
+ 2
+ 0 0 12 0
+ 4 0
+
+ 4 0
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/NotificationCard.axaml b/src/Semi.Avalonia/Themes/Shared/NotificationCard.axaml
new file mode 100644
index 0000000..41c7039
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/NotificationCard.axaml
@@ -0,0 +1,9 @@
+
+ 320
+ 1
+ 6
+ M12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23ZM14 7C14 8.10457 13.1046 9 12 9C10.8954 9 10 8.10457 10 7C10 5.89543 10.8954 5 12 5C13.1046 5 14 5.89543 14 7ZM9 10.75C9 10.3358 9.33579 10 9.75 10H12.5C13.0523 10 13.5 10.4477 13.5 11V16.5H14.25C14.6642 16.5 15 16.8358 15 17.25C15 17.6642 14.6642 18 14.25 18H9.75C9.33579 18 9 17.6642 9 17.25C9 16.8358 9.33579 16.5 9.75 16.5H10.5V11.5H9.75C9.33579 11.5 9 11.1642 9 10.75Z
+ M12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23ZM17.8831 9.82235L11.6854 17.4112C11.4029 17.7806 10.965 17.9981 10.5 18C10.035 18.0019 9.59533 17.788 9.30982 17.421L5.81604 13.4209C5.30744 12.767 5.42524 11.8246 6.07916 11.316C6.73308 10.8074 7.67549 10.9252 8.1841 11.5791L10.4838 14.0439L15.5 8C16.0032 7.34193 16.9446 7.21641 17.6027 7.71964C18.2608 8.22287 18.3863 9.16428 17.8831 9.82235Z
+ M10.2268 2.3986L1.52616 19.0749C0.831449 20.4064 1.79747 22 3.29933 22H20.7007C22.2025 22 23.1686 20.4064 22.4739 19.0749L13.7732 2.3986C13.0254 0.965441 10.9746 0.965442 10.2268 2.3986ZM13.1415 14.0101C13.0603 14.5781 12.5739 15 12.0001 15C11.4263 15 10.9398 14.5781 10.8586 14.0101L10.2829 9.97992C10.1336 8.93495 10.9445 8.00002 12.0001 8.00002C13.0556 8.00002 13.8665 8.93495 13.7172 9.97992L13.1415 14.0101ZM13.5001 18.5C13.5001 19.3284 12.8285 20 12.0001 20C11.1716 20 10.5001 19.3284 10.5001 18.5C10.5001 17.6716 11.1716 17 12.0001 17C12.8285 17 13.5001 17.6716 13.5001 18.5Z
+ M23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12ZM13.5 17.5C13.5 16.6716 12.8284 16 12 16C11.1716 16 10.5 16.6716 10.5 17.5C10.5 18.3284 11.1716 19 12 19C12.8284 19 13.5 18.3284 13.5 17.5ZM12 5C10.9138 5 10.0507 5.91244 10.1109 6.99692L10.4168 12.5023C10.4635 13.3426 11.1584 14 12 14C12.8416 14 13.5365 13.3426 13.5832 12.5023L13.8891 6.99692C13.9493 5.91244 13.0862 5 12 5Z
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/NumericUpDown.axaml b/src/Semi.Avalonia/Themes/Shared/NumericUpDown.axaml
new file mode 100644
index 0000000..507e6ac
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/NumericUpDown.axaml
@@ -0,0 +1,6 @@
+
+ 3
+ 32
+ 24
+ 40
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/Palette.axaml b/src/Semi.Avalonia/Themes/Shared/Palette.axaml
new file mode 100644
index 0000000..d1981be
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/Palette.axaml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/ProgressBar.axaml b/src/Semi.Avalonia/Themes/Shared/ProgressBar.axaml
new file mode 100644
index 0000000..56142f7
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/ProgressBar.axaml
@@ -0,0 +1,4 @@
+
+ 3
+ 600
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/RadioButton.axaml b/src/Semi.Avalonia/Themes/Shared/RadioButton.axaml
new file mode 100644
index 0000000..e3cefaa
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/RadioButton.axaml
@@ -0,0 +1,26 @@
+
+
+ 16
+ 6
+ 14
+ 0 2 8 0
+
+
+ 3
+
+ 3
+ 3
+
+ 600
+ 16 2
+ 16 4
+ 24 6
+
+ 12
+ 12
+ 14
+
+
+ 16 12
+ 3
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/RefreshContainer.axaml b/src/Semi.Avalonia/Themes/Shared/RefreshContainer.axaml
new file mode 100644
index 0000000..1782c7f
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/RefreshContainer.axaml
@@ -0,0 +1,4 @@
+
+ 24
+ M14.2 3.78966C9.66551 2.57466 5.00465 5.26561 3.78964 9.80007C3.12066 12.2967 3.63433 14.8301 4.99177 16.8102C5.46019 17.4935 5.28601 18.4271 4.60273 18.8955C3.91945 19.364 2.98581 19.1898 2.51739 18.5065C0.685557 15.8344 -0.0134454 12.4023 0.891867 9.02361C2.5357 2.88875 8.84157 -0.751945 14.9764 0.891885C21.1113 2.53572 24.752 8.84159 23.1082 14.9765C22.8937 15.7767 22.0712 16.2515 21.271 16.0371C20.4708 15.8227 19.996 15.0002 20.2104 14.2C21.4254 9.66553 18.7344 5.00467 14.2 3.78966Z
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/ScrollViewer.axaml b/src/Semi.Avalonia/Themes/Shared/ScrollViewer.axaml
new file mode 100644
index 0000000..a08a04e
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/ScrollViewer.axaml
@@ -0,0 +1,8 @@
+
+ 14
+ 10
+ M16.3176 6.95628V17.0878C16.3176 17.4871 15.8725 17.7253 15.5402 17.5038L7.94161 12.438C7.64474 12.2401 7.64474 11.8039 7.94161 11.606L15.5402 6.54025C15.8725 6.31873 16.3176 6.55693 16.3176 6.95628Z
+ M9 17.0657V6.93425C9 6.5349 9.44507 6.29671 9.77735 6.51823L17.376 11.584C17.6728 11.7819 17.6728 12.2181 17.376 12.416L9.77735 17.4818C9.44507 17.7033 9 17.4651 9 17.0657Z
+ M17.0839 16.3212H6.9524C6.55305 16.3212 6.31486 15.8761 6.53638 15.5438L11.6021 7.94521C11.8 7.64834 12.2363 7.64834 12.4342 7.94521L17.4999 15.5438C17.7214 15.8761 17.4832 16.3212 17.0839 16.3212Z
+ M6.95249 7.72265L17.084 7.72265C17.4833 7.72265 17.7215 8.16772 17.5 8.5L12.4343 16.0986C12.2363 16.3955 11.8001 16.3955 11.6022 16.0986L6.53647 8.5C6.31495 8.16772 6.55315 7.72265 6.95249 7.72265Z
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/Slider.axaml b/src/Semi.Avalonia/Themes/Shared/Slider.axaml
new file mode 100644
index 0000000..42c66a9
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/Slider.axaml
@@ -0,0 +1,12 @@
+
+ 4
+ 3
+ 16
+ 16
+ 24
+ 0
+
+ 4
+ 4
+ 2
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/SplitButton.axaml b/src/Semi.Avalonia/Themes/Shared/SplitButton.axaml
new file mode 100644
index 0000000..a304813
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/SplitButton.axaml
@@ -0,0 +1,4 @@
+
+ M20.5598 9.65618L12.7546 18.6322C12.3559 19.0906 11.644 19.0906 11.2453 18.6322L3.4401 9.65618C2.8773 9.00895 3.33701 8 4.19471 8L19.8052 8C20.6629 8 21.1226 9.00895 20.5598 9.65618Z
+ 1
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/SplitView.axaml b/src/Semi.Avalonia/Themes/Shared/SplitView.axaml
new file mode 100644
index 0000000..944eb37
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/SplitView.axaml
@@ -0,0 +1,10 @@
+
+ 320
+ 48
+ 00:00:00.2
+ 00:00:00.1
+ 0.1,0.9,0.2,1.0
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/TabControl.axaml b/src/Semi.Avalonia/Themes/Shared/TabControl.axaml
new file mode 100644
index 0000000..d1981be
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/TabControl.axaml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/TabItem.axaml b/src/Semi.Avalonia/Themes/Shared/TabItem.axaml
new file mode 100644
index 0000000..9e9c07e
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/TabItem.axaml
@@ -0,0 +1,3 @@
+
+ 600
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/TextBlock.axaml b/src/Semi.Avalonia/Themes/Shared/TextBlock.axaml
new file mode 100644
index 0000000..dc39c51
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/TextBlock.axaml
@@ -0,0 +1,25 @@
+
+ 12
+
+ 14
+ 32
+ 28
+ 24
+ 20
+ 18
+ 16
+ 400
+ 600
+ 600
+ 600
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 2
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/TextBox.axaml b/src/Semi.Avalonia/Themes/Shared/TextBox.axaml
new file mode 100644
index 0000000..46d2a43
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/TextBox.axaml
@@ -0,0 +1,25 @@
+
+ 30
+ 22
+ 38
+ 32
+ 24
+ 40
+
+ 3
+
+ 3 0 0 3
+ 0 3 3 0
+ 3 0 0 3
+ 0 3 3 0
+ 0 0 0 0
+
+ 0 0 8 0
+ 8 0 0 0
+ 8 0
+ 1
+
+ M12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23ZM17.0352 16.8626C16.4597 17.4585 15.5101 17.4751 14.9142 16.8996L12.0368 14.121L9.25822 16.9984C8.68274 17.5943 7.73314 17.6109 7.13722 17.0354C6.5413 16.4599 6.52472 15.5103 7.1002 14.9144L9.87883 12.037L7.00147 9.2584C6.40555 8.68293 6.38897 7.73332 6.96445 7.1374C7.53992 6.54148 8.48953 6.52491 9.08545 7.10038L11.9628 9.87901L14.7414 7.00165C15.3169 6.40573 16.2665 6.38916 16.8624 6.96463C17.4584 7.54011 17.4749 8.48971 16.8995 9.08563L14.1208 11.963L16.9982 14.7416C17.5941 15.3171 17.6107 16.2667 17.0352 16.8626Z
+ M12 4C5 4 1 10 1 12C1 14 5 20 12 20C19 20 23 14 23 12C23 10 19 4 12 4ZM17 12C17 14.7614 14.7614 17 12 17C9.23858 17 7 14.7614 7 12C7 9.23858 9.23858 7 12 7C14.7614 7 17 9.23858 17 12ZM12 15C13.6569 15 15 13.6569 15 12C15 10.3431 13.6569 9 12 9C10.3431 9 9 10.3431 9 12C9 13.6569 10.3431 15 12 15Z
+ M2.02949 4.67856C2.7593 4.28654 3.66871 4.56038 4.06073 5.29018C6.21313 9.29726 8.83179 11.5 12.0001 11.5C15.1685 11.5 17.7871 9.29726 19.9395 5.29018C20.3315 4.56038 21.241 4.28655 21.9708 4.67856C22.7006 5.07058 22.9744 5.97999 22.5824 6.7098C21.9049 7.97104 21.1385 9.15419 20.2743 10.199L23.2001 14.1C23.6971 14.7627 23.5628 15.7029 22.9001 16.2C22.2373 16.697 21.2971 16.5627 20.8001 15.9L18.1186 12.3246C17.448 12.8501 16.7322 13.2957 15.9687 13.6441L17.4046 17.4733C17.6955 18.249 17.3025 19.1136 16.5268 19.4045C15.7511 19.6954 14.8865 19.3024 14.5956 18.5267L13.0956 14.5267C13.0852 14.4988 13.0756 14.4709 13.0669 14.4428C12.7193 14.4806 12.3638 14.5 12.0001 14.5C11.6365 14.5 11.281 14.4806 10.9333 14.4428C10.9246 14.4709 10.9151 14.4988 10.9046 14.5267L9.40463 18.5267C9.11375 19.3024 8.24913 19.6954 7.47345 19.4045C6.69777 19.1136 6.30476 18.249 6.59564 17.4733L8.03159 13.6441C7.26806 13.2957 6.55223 12.8501 5.88163 12.3246L3.20009 15.9C2.70303 16.5627 1.76283 16.697 1.10009 16.2C0.437347 15.7029 0.303032 14.7627 0.800088 14.1L3.72589 10.1989C2.86177 9.15415 2.09533 7.97101 1.41787 6.70979C1.02585 5.97999 1.29969 5.07057 2.02949 4.67856Z
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/TimePicker.axaml b/src/Semi.Avalonia/Themes/Shared/TimePicker.axaml
new file mode 100644
index 0000000..ce13e51
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/TimePicker.axaml
@@ -0,0 +1,3 @@
+
+ M12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23ZM13.5 6.5V11.3787L17.0607 14.9393C17.6464 15.5251 17.6464 16.4749 17.0607 17.0607C16.4749 17.6464 15.5251 17.6464 14.9393 17.0607L10.9393 13.0607C10.658 12.7794 10.5 12.3978 10.5 12V6.5C10.5 5.67157 11.1716 5 12 5C12.8284 5 13.5 5.67157 13.5 6.5Z
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/ToggleButton.axaml b/src/Semi.Avalonia/Themes/Shared/ToggleButton.axaml
new file mode 100644
index 0000000..7f4d3b3
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/ToggleButton.axaml
@@ -0,0 +1,10 @@
+
+ 14
+ 600
+
+ 12 6
+ 16 10
+ 6 2
+ 1
+ 3
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/ToggleSwitch.axaml b/src/Semi.Avalonia/Themes/Shared/ToggleSwitch.axaml
new file mode 100644
index 0000000..ad1ba7b
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/ToggleSwitch.axaml
@@ -0,0 +1,17 @@
+
+ 24
+ 16
+ 32
+ 40
+ 26
+ 54
+ 18
+ 12
+ 24
+
+ 12
+ 14
+
+ 8 4
+ 8 4
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/Tooltip.axaml b/src/Semi.Avalonia/Themes/Shared/Tooltip.axaml
new file mode 100644
index 0000000..dc0c96e
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/Tooltip.axaml
@@ -0,0 +1,7 @@
+
+ M24 0V1C20 1 18.5 2 16.5 4C14.5 6 14 7 12 7C10 7 9.5 6 7.5 4C5.5 2 4 1 0 1V0H24Z
+ 6
+ 12 8
+ 320
+ 0
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/TreeView.axaml b/src/Semi.Avalonia/Themes/Shared/TreeView.axaml
new file mode 100644
index 0000000..b591259
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/TreeView.axaml
@@ -0,0 +1,10 @@
+
+ 20
+ 8
+ 12, 0, 12, 0
+
+ M9.65618 3.44015L18.6322 11.2454C19.0906 11.644 19.0906 12.356 18.6322 12.7546L9.65618 20.5598C9.00895 21.1226 8 20.6629 8 19.8052V4.19475C8 3.33705 9.00895 2.87734 9.65618 3.44015Z
+
+ 8 0
+ 0 4 8 4
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/Window.axaml b/src/Semi.Avalonia/Themes/Shared/Window.axaml
new file mode 100644
index 0000000..d1981be
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/Window.axaml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Themes/Shared/_index.axaml b/src/Semi.Avalonia/Themes/Shared/_index.axaml
new file mode 100644
index 0000000..249105f
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/_index.axaml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file