diff --git a/Toolkit.UI.WinUI/Toolkit.UI.WinUI.csproj b/Toolkit.UI.WinUI/Toolkit.UI.WinUI.csproj
new file mode 100644
index 0000000..fea5908
--- /dev/null
+++ b/Toolkit.UI.WinUI/Toolkit.UI.WinUI.csproj
@@ -0,0 +1,21 @@
+
+
+ net9.0-windows10.0.19041.0
+ 10.0.17763.0
+ Toolkit.UI.WinUI
+
+ win-x86;win-x64;win-arm64
+
+
+ win10-x86;win10-x64;win10-arm64
+
+ true
+ 10.0.19041.41
+
+
+
+
+
+
+
+
diff --git a/Toolkit.UI.WinUI/WindowExtensions.cs b/Toolkit.UI.WinUI/WindowExtensions.cs
new file mode 100644
index 0000000..43431fc
--- /dev/null
+++ b/Toolkit.UI.WinUI/WindowExtensions.cs
@@ -0,0 +1,25 @@
+using Microsoft.UI.Xaml;
+using WinUIEx;
+
+namespace Toolkit.UI.WinUI;
+
+public static partial class WindowExtensions
+{
+ public static void SetWindowStyle(this Window window,
+ WindowStyle style)
+ {
+ WinUIEx.WindowStyle windowStyle = window.GetWindowStyle();
+
+ switch (style)
+ {
+ case WindowStyle.None:
+ windowStyle &= ~(WinUIEx.WindowStyle.Caption |
+ WinUIEx.WindowStyle.ThickFrame |
+ WinUIEx.WindowStyle.Border |
+ WinUIEx.WindowStyle.SysMenu);
+ break;
+ }
+
+ window.SetWindowStyle(windowStyle);
+ }
+}
\ No newline at end of file
diff --git a/Toolkit.UI.WinUI/WindowStyle.cs b/Toolkit.UI.WinUI/WindowStyle.cs
new file mode 100644
index 0000000..a3792ed
--- /dev/null
+++ b/Toolkit.UI.WinUI/WindowStyle.cs
@@ -0,0 +1,9 @@
+namespace Toolkit.UI.WinUI;
+
+public enum WindowStyle
+{
+ None,
+ SingleBorderWindow,
+ ThreeDBorderWindow,
+ ToolWindow
+}
\ No newline at end of file
diff --git a/Toolkit.WinUI/IServiceCollectionExtensions.cs b/Toolkit.WinUI/IServiceCollectionExtensions.cs
index c2c64e7..6f83ef8 100644
--- a/Toolkit.WinUI/IServiceCollectionExtensions.cs
+++ b/Toolkit.WinUI/IServiceCollectionExtensions.cs
@@ -1,9 +1,4 @@
using Microsoft.Extensions.DependencyInjection;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
using Toolkit.Foundation;
namespace Toolkit.WinUI;
@@ -12,7 +7,15 @@ public static class IServiceCollectionExtensions
{
public static IServiceCollection AddWinUI(this IServiceCollection services)
{
+ services.AddTransient();
services.AddTransient();
+
+ services.AddTransient((Func>)(provider =>
+ new ProxyServiceCollection(services =>
+ {
+
+ })));
+
return services;
}
}
diff --git a/Toolkit.WinUI/WinUIDispatcher.cs b/Toolkit.WinUI/WinUIDispatcher.cs
new file mode 100644
index 0000000..7ae5f17
--- /dev/null
+++ b/Toolkit.WinUI/WinUIDispatcher.cs
@@ -0,0 +1,14 @@
+using Microsoft.UI.Dispatching;
+using Toolkit.Foundation;
+
+namespace Toolkit.WinUI;
+
+public class WinUIDispatcher :
+ IDispatcher
+{
+ public Task Invoke(Action action)
+ {
+ DispatcherQueue.GetForCurrentThread().TryEnqueue(action.Invoke);
+ return Task.CompletedTask;
+ }
+}
diff --git a/Toolkit.sln b/Toolkit.sln
index b0b0258..ed39fa2 100644
--- a/Toolkit.sln
+++ b/Toolkit.sln
@@ -17,6 +17,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Toolkit.WinUI", "Toolkit.Wi
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Toolkit.Test", "Toolkit.Test\Toolkit.Test.csproj", "{E125F8EF-6B66-400F-9CDE-BC3DB1463F4E}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Toolkit.UI.WinUI", "Toolkit.UI.WinUI\Toolkit.UI.WinUI.csproj", "{13C89DC0-5B75-4368-930D-D156B06E3F6A}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -99,18 +101,6 @@ Global
{D90BFF29-B38C-432E-849A-28C5A88A6DDD}.Release|x64.Build.0 = Release|Any CPU
{D90BFF29-B38C-432E-849A-28C5A88A6DDD}.Release|x86.ActiveCfg = Release|Any CPU
{D90BFF29-B38C-432E-849A-28C5A88A6DDD}.Release|x86.Build.0 = Release|Any CPU
- {E125F8EF-6B66-400F-9CDE-BC3DB1463F4E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E125F8EF-6B66-400F-9CDE-BC3DB1463F4E}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {E125F8EF-6B66-400F-9CDE-BC3DB1463F4E}.Debug|x64.ActiveCfg = Debug|Any CPU
- {E125F8EF-6B66-400F-9CDE-BC3DB1463F4E}.Debug|x64.Build.0 = Debug|Any CPU
- {E125F8EF-6B66-400F-9CDE-BC3DB1463F4E}.Debug|x86.ActiveCfg = Debug|Any CPU
- {E125F8EF-6B66-400F-9CDE-BC3DB1463F4E}.Debug|x86.Build.0 = Debug|Any CPU
- {E125F8EF-6B66-400F-9CDE-BC3DB1463F4E}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E125F8EF-6B66-400F-9CDE-BC3DB1463F4E}.Release|Any CPU.Build.0 = Release|Any CPU
- {E125F8EF-6B66-400F-9CDE-BC3DB1463F4E}.Release|x64.ActiveCfg = Release|Any CPU
- {E125F8EF-6B66-400F-9CDE-BC3DB1463F4E}.Release|x64.Build.0 = Release|Any CPU
- {E125F8EF-6B66-400F-9CDE-BC3DB1463F4E}.Release|x86.ActiveCfg = Release|Any CPU
- {E125F8EF-6B66-400F-9CDE-BC3DB1463F4E}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE