diff --git a/.run/SC-Single.run.xml b/.run/SC-Single.run.xml
index 1629fa5..269629d 100644
--- a/.run/SC-Single.run.xml
+++ b/.run/SC-Single.run.xml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/demo/Semi.Avalonia.Demo.Desktop/Semi.Avalonia.Demo.Desktop.csproj b/demo/Semi.Avalonia.Demo.Desktop/Semi.Avalonia.Demo.Desktop.csproj
index 14f9ffa..4418249 100644
--- a/demo/Semi.Avalonia.Demo.Desktop/Semi.Avalonia.Demo.Desktop.csproj
+++ b/demo/Semi.Avalonia.Demo.Desktop/Semi.Avalonia.Demo.Desktop.csproj
@@ -11,6 +11,11 @@
-->
+
+ true
+ true
+
+
app.manifest
diff --git a/demo/Semi.Avalonia.Demo/Roots.xml b/demo/Semi.Avalonia.Demo/Roots.xml
deleted file mode 100644
index 22c01ba..0000000
--- a/demo/Semi.Avalonia.Demo/Roots.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/demo/Semi.Avalonia.Demo/Semi.Avalonia.Demo.csproj b/demo/Semi.Avalonia.Demo/Semi.Avalonia.Demo.csproj
index 8b1e2c3..757b062 100644
--- a/demo/Semi.Avalonia.Demo/Semi.Avalonia.Demo.csproj
+++ b/demo/Semi.Avalonia.Demo/Semi.Avalonia.Demo.csproj
@@ -7,7 +7,6 @@
-
diff --git a/src/Package.props b/src/Package.props
index 3010a44..dd12a5c 100644
--- a/src/Package.props
+++ b/src/Package.props
@@ -1,6 +1,6 @@
- net6.0;netstandard2.0
+ net6.0;net8.0;netstandard2.0
enable
latest
11.1.0-rc2
diff --git a/src/Semi.Avalonia.ColorPicker/Index.axaml b/src/Semi.Avalonia.ColorPicker/Index.axaml
index 2af9525..32b0f04 100644
--- a/src/Semi.Avalonia.ColorPicker/Index.axaml
+++ b/src/Semi.Avalonia.ColorPicker/Index.axaml
@@ -2,8 +2,8 @@
-
-
+
+
diff --git a/src/Semi.Avalonia.ColorPicker/Semi.Avalonia.ColorPicker.csproj b/src/Semi.Avalonia.ColorPicker/Semi.Avalonia.ColorPicker.csproj
index ec355ce..a83a8de 100644
--- a/src/Semi.Avalonia.ColorPicker/Semi.Avalonia.ColorPicker.csproj
+++ b/src/Semi.Avalonia.ColorPicker/Semi.Avalonia.ColorPicker.csproj
@@ -7,6 +7,10 @@
Update to Avalonia 11.1-rc1
+
+ true
+
+
diff --git a/src/Semi.Avalonia.DataGrid/Index.axaml b/src/Semi.Avalonia.DataGrid/Index.axaml
index 29ddeaa..4d798eb 100644
--- a/src/Semi.Avalonia.DataGrid/Index.axaml
+++ b/src/Semi.Avalonia.DataGrid/Index.axaml
@@ -2,8 +2,8 @@
-
-
+
+
diff --git a/src/Semi.Avalonia.DataGrid/Semi.Avalonia.DataGrid.csproj b/src/Semi.Avalonia.DataGrid/Semi.Avalonia.DataGrid.csproj
index d74456e..2d025be 100644
--- a/src/Semi.Avalonia.DataGrid/Semi.Avalonia.DataGrid.csproj
+++ b/src/Semi.Avalonia.DataGrid/Semi.Avalonia.DataGrid.csproj
@@ -7,6 +7,10 @@
Update to Avalonia 11.1-rc1
+
+ true
+
+
diff --git a/src/Semi.Avalonia.TreeDataGrid/Semi.Avalonia.TreeDataGrid.csproj b/src/Semi.Avalonia.TreeDataGrid/Semi.Avalonia.TreeDataGrid.csproj
index 054e41b..efb7e6d 100644
--- a/src/Semi.Avalonia.TreeDataGrid/Semi.Avalonia.TreeDataGrid.csproj
+++ b/src/Semi.Avalonia.TreeDataGrid/Semi.Avalonia.TreeDataGrid.csproj
@@ -14,6 +14,10 @@
11.0.0
+
+ true
+
+
diff --git a/src/Semi.Avalonia/Locale/en-us.axaml.cs b/src/Semi.Avalonia/Locale/en-us.axaml.cs
new file mode 100644
index 0000000..f9a9730
--- /dev/null
+++ b/src/Semi.Avalonia/Locale/en-us.axaml.cs
@@ -0,0 +1,8 @@
+using Avalonia.Controls;
+
+namespace Semi.Avalonia.Locale;
+
+public class en_us: ResourceDictionary
+{
+
+}
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Locale/zh-cn.axaml.cs b/src/Semi.Avalonia/Locale/zh-cn.axaml.cs
new file mode 100644
index 0000000..530a7de
--- /dev/null
+++ b/src/Semi.Avalonia/Locale/zh-cn.axaml.cs
@@ -0,0 +1,8 @@
+using Avalonia.Controls;
+
+namespace Semi.Avalonia.Locale;
+
+public class zh_cn: ResourceDictionary
+{
+
+}
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Semi.Avalonia.csproj b/src/Semi.Avalonia/Semi.Avalonia.csproj
index 92b1aab..28f222b 100644
--- a/src/Semi.Avalonia/Semi.Avalonia.csproj
+++ b/src/Semi.Avalonia/Semi.Avalonia.csproj
@@ -5,6 +5,9 @@
Semi.Avalonia
Update to Avalonia 11.1-rc1
+
+
+
true
diff --git a/src/Semi.Avalonia/Themes/Index.axaml b/src/Semi.Avalonia/Themes/Index.axaml
index 5af2035..116b7b5 100644
--- a/src/Semi.Avalonia/Themes/Index.axaml
+++ b/src/Semi.Avalonia/Themes/Index.axaml
@@ -2,8 +2,8 @@
-
-
+
+
diff --git a/src/Semi.Avalonia/Themes/SemiTheme.axaml b/src/Semi.Avalonia/Themes/SemiTheme.axaml
index 5e86cb3..52c207f 100644
--- a/src/Semi.Avalonia/Themes/SemiTheme.axaml
+++ b/src/Semi.Avalonia/Themes/SemiTheme.axaml
@@ -2,8 +2,8 @@
-
-
+
+
diff --git a/src/Semi.Avalonia/Themes/SemiTheme.axaml.cs b/src/Semi.Avalonia/Themes/SemiTheme.axaml.cs
index bb68581..88268f3 100644
--- a/src/Semi.Avalonia/Themes/SemiTheme.axaml.cs
+++ b/src/Semi.Avalonia/Themes/SemiTheme.axaml.cs
@@ -4,15 +4,16 @@ using System.Globalization;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
using Avalonia.Styling;
+using Semi.Avalonia.Locale;
namespace Semi.Avalonia;
public class SemiTheme: Styles
{
- private static readonly Dictionary _localeToResource = new()
+ private static readonly Dictionary _localeToResource = new()
{
- { new CultureInfo("zh-cn"), "avares://Semi.Avalonia/Locale/zh-cn.axaml" },
- { new CultureInfo("en-us"), "avares://Semi.Avalonia/Locale/en-us.axaml" },
+ { new CultureInfo("zh-cn"), new zh_cn() },
+ { new CultureInfo("en-us"), new en_us() },
};
private readonly IServiceProvider? sp;
@@ -30,22 +31,20 @@ public class SemiTheme: Styles
{
_locale = value;
var resource = TryGetLocaleResource(value);
- var d = AvaloniaXamlLoader.Load(sp, new Uri(resource)) as ResourceDictionary;
- if (d is null) return;
- foreach (var kv in d)
+ if(resource is null) return;
+ foreach (var kv in resource)
{
this.Resources.Add(kv);
}
}
}
- private static string TryGetLocaleResource(CultureInfo? locale)
+ private static ResourceDictionary? TryGetLocaleResource(CultureInfo? locale)
{
if (locale is null)
{
return _localeToResource[new CultureInfo("zh-cn")];
}
-
if (_localeToResource.TryGetValue(locale, out var resource))
{
return resource;