Fix manual handler registrations

This commit is contained in:
Daniel Clark
2022-12-16 09:06:14 +00:00
parent 96cafa9082
commit 2b7bd315a5
4 changed files with 5 additions and 4 deletions
@@ -1,6 +1,5 @@
using Avalonia; using Avalonia;
using Mediator; using Mediator;
using System.Diagnostics;
using Toolkit.Framework.Foundation; using Toolkit.Framework.Foundation;
namespace Toolkit.Framework.Avalonia; namespace Toolkit.Framework.Avalonia;
@@ -6,10 +6,11 @@ namespace Toolkit.Framework.Avalonia;
public static class IServiceCollectionExtensions public static class IServiceCollectionExtensions
{ {
public static IServiceCollection AddNavigation(this IServiceCollection serviceCollection) public static IServiceCollection AddAvalonia(this IServiceCollection serviceCollection)
{ {
serviceCollection.TryAddSingleton<INavigationRouteDescriptorCollection, NavigationRouteDescriptorCollection>(); serviceCollection.TryAddSingleton<INavigationRouteDescriptorCollection, NavigationRouteDescriptorCollection>();
serviceCollection.AddHandler<ContentHandler>();
serviceCollection.AddHandler<NavigationRouteHandler>(); serviceCollection.AddHandler<NavigationRouteHandler>();
serviceCollection.AddHandler<NavigateHandler>(); serviceCollection.AddHandler<NavigateHandler>();
serviceCollection.AddHandler<FrameNavigationHandler>(); serviceCollection.AddHandler<FrameNavigationHandler>();
@@ -5,7 +5,7 @@ namespace Toolkit.Framework.Avalonia;
public class ContentControlNavigationHandler : IRequestHandler<ContentControlNavigation, bool> public class ContentControlNavigationHandler : IRequestHandler<ContentControlNavigation, bool>
{ {
public async ValueTask<bool> Handle(ContentControlNavigation request, CancellationToken cancellationToken) public ValueTask<bool> Handle(ContentControlNavigation request, CancellationToken cancellationToken)
{ {
if (request.Template is TemplatedControl control) if (request.Template is TemplatedControl control)
{ {
@@ -13,6 +13,6 @@ public class ContentControlNavigationHandler : IRequestHandler<ContentControlNav
request.Route.Content = control; request.Route.Content = control;
} }
return await Task.FromResult(true); return new ValueTask<bool>(true);
} }
} }
@@ -37,6 +37,7 @@ public static class IServiceCollectionExtensions
.AddSingleton<IMediator, Mediator>() .AddSingleton<IMediator, Mediator>()
.AddHandler<InitializeHandler>() .AddHandler<InitializeHandler>()
.AddSingleton<IServiceFactory>(provider => new ServiceFactory(provider.GetService, (instanceType, parameters) => ActivatorUtilities.CreateInstance(provider, instanceType, parameters!))) .AddSingleton<IServiceFactory>(provider => new ServiceFactory(provider.GetService, (instanceType, parameters) => ActivatorUtilities.CreateInstance(provider, instanceType, parameters!)))
.AddHandler<ServiceFactoryHandler>()
.AddSingleton<IInitialization, Initialization>(provider => new Initialization(() => .AddSingleton<IInitialization, Initialization>(provider => new Initialization(() =>
{ {
return serviceCollection.Where(x => x.ServiceType.GetInterfaces() return serviceCollection.Where(x => x.ServiceType.GetInterfaces()