threading fixes

This commit is contained in:
TheXamlGuy
2024-01-07 22:37:54 +00:00
parent bc29fbc805
commit 9a669e695e
25 changed files with 217 additions and 92 deletions
+7 -1
View File
@@ -4,6 +4,7 @@ using Hyperbar.Windows.Primary;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.UI.Dispatching;
using Microsoft.UI.Xaml;
namespace Hyperbar.Windows;
@@ -17,6 +18,10 @@ public partial class App :
{
base.OnLaunched(args);
var context = new DispatcherQueueSynchronizationContext(
DispatcherQueue.GetForCurrentThread());
SynchronizationContext.SetSynchronizationContext(context);
IHost? host = Host.CreateDefaultBuilder()
.UseContentRoot(AppContext.BaseDirectory)
.ConfigureAppConfiguration(config =>
@@ -31,10 +36,11 @@ public partial class App :
services.AddSingleton<IServiceFactory>(provider =>
new ServiceFactory((type, parameters) => ActivatorUtilities.CreateInstance(provider, type, parameters!)));
services.AddSingleton<IMediator, Mediator>();
services.AddHostedService<AppService>();
services.AddTransient<IInitializer, AppInitializer>();
services.AddTransient<ITemplateFactory, TemplateFactory>();
services.AddTransient<ITemplateGeneratorFactory, TemplateGeneratorFactory>();
services.AddTransient<DesktopFlyout>();
services.AddContentTemplate<CommandViewModel, CommandView>();