From 66d61a39170e183906efa52a6cf0be96e9305240 Mon Sep 17 00:00:00 2001 From: Dan Clark Date: Tue, 11 Feb 2025 17:59:16 +0000 Subject: [PATCH] Fixes --- Toolkit.Foundation/DefaultHostBuilder.cs | 6 +++--- Toolkit.Foundation/NavigateHandler.cs | 4 ++-- Toolkit.Foundation/Navigation.cs | 2 +- Toolkit.UI.WinUI/ItemInvokedEventArgs.cs | 5 ----- Toolkit.UI.WinUI/NavigateAction.cs | 2 +- Toolkit.WinUI/ContentControlHandler.cs | 4 ---- Toolkit.WinUI/IServiceCollectionExtensions.cs | 4 ++-- 7 files changed, 9 insertions(+), 18 deletions(-) delete mode 100644 Toolkit.UI.WinUI/ItemInvokedEventArgs.cs diff --git a/Toolkit.Foundation/DefaultHostBuilder.cs b/Toolkit.Foundation/DefaultHostBuilder.cs index effb767..e339eef 100644 --- a/Toolkit.Foundation/DefaultHostBuilder.cs +++ b/Toolkit.Foundation/DefaultHostBuilder.cs @@ -38,7 +38,7 @@ public class DefaultHostBuilder : services.AddTransient(); - services.AddScoped(); + services.AddSingleton(); services.AddTransient(); services.AddScoped(); @@ -52,8 +52,8 @@ public class DefaultHostBuilder : services.AddTransient(); services.AddTransient(); - services.AddHandler(); - services.AddHandler(); + services.AddHandlerScoped(); + services.AddHandlerScoped(); services.AddInitialization(); }); diff --git a/Toolkit.Foundation/NavigateHandler.cs b/Toolkit.Foundation/NavigateHandler.cs index 252767a..17e6c72 100644 --- a/Toolkit.Foundation/NavigateHandler.cs +++ b/Toolkit.Foundation/NavigateHandler.cs @@ -2,7 +2,7 @@ namespace Toolkit.Foundation; -public class NavigateHandler(NamedComponent scope, +public class NavigateHandler(NamedComponent named, IComponentScopeProvider componentScopeProvider) : IHandler { @@ -28,7 +28,7 @@ public class NavigateHandler(NamedComponent scope, if (navigation is null) { - ComponentScopeDescriptor? descriptor = componentScopeProvider.Get(args.Scope ?? scope.Key); + ComponentScopeDescriptor? descriptor = componentScopeProvider.Get(args.Scope ?? named.Key); navigation = descriptor?.Services?.GetRequiredService(); } diff --git a/Toolkit.Foundation/Navigation.cs b/Toolkit.Foundation/Navigation.cs index b021a5b..3df4ea2 100644 --- a/Toolkit.Foundation/Navigation.cs +++ b/Toolkit.Foundation/Navigation.cs @@ -28,7 +28,7 @@ public class Navigation(IServiceProvider provider, { currentSegmentIndex++; - if (provider.GetKeyedService(segment) + if (provider.GetRequiredKeyedService(segment) is IContentTemplateDescriptor descriptor) { Dictionary? arguments = parameters?.ToDictionary(x => x.Key, x => x.Value, StringComparer.InvariantCultureIgnoreCase) ?? []; diff --git a/Toolkit.UI.WinUI/ItemInvokedEventArgs.cs b/Toolkit.UI.WinUI/ItemInvokedEventArgs.cs deleted file mode 100644 index 25ccb35..0000000 --- a/Toolkit.UI.WinUI/ItemInvokedEventArgs.cs +++ /dev/null @@ -1,5 +0,0 @@ -using System; - -namespace Toolkit.UI.WinUI; - -public class ItemInvokedEventArgs : EventArgs; diff --git a/Toolkit.UI.WinUI/NavigateAction.cs b/Toolkit.UI.WinUI/NavigateAction.cs index ec18450..e05d488 100644 --- a/Toolkit.UI.WinUI/NavigateAction.cs +++ b/Toolkit.UI.WinUI/NavigateAction.cs @@ -75,7 +75,7 @@ public class NavigateAction : ImmutableDictionary.Empty; observableViewModel.Messenger.Send(new NavigateEventArgs(Route, Region.Equals(this) ? content : Region, Scope ?? null, - content, Navigated, parameters)); + content.DataContext, Navigated, parameters)); } } diff --git a/Toolkit.WinUI/ContentControlHandler.cs b/Toolkit.WinUI/ContentControlHandler.cs index baf0cf3..c30b4bb 100644 --- a/Toolkit.WinUI/ContentControlHandler.cs +++ b/Toolkit.WinUI/ContentControlHandler.cs @@ -10,14 +10,10 @@ public class ContentControlHandler : public void Handle(NavigateTemplateEventArgs args) { if (args.Region is not ContentControl contentControl) - { return; - } if (args.Template is not Control control) - { return; - } void HandleLoaded(object? sender, RoutedEventArgs args) { diff --git a/Toolkit.WinUI/IServiceCollectionExtensions.cs b/Toolkit.WinUI/IServiceCollectionExtensions.cs index b80a4be..3b46e62 100644 --- a/Toolkit.WinUI/IServiceCollectionExtensions.cs +++ b/Toolkit.WinUI/IServiceCollectionExtensions.cs @@ -16,8 +16,8 @@ public static class IServiceCollectionExtensions services.AddTransient(); services.AddTransient(); - services.AddHandler(nameof(ContentControl)); - services.AddHandler(nameof(ContentDialog)); + services.AddHandlerScoped(nameof(ContentControl)); + services.AddHandlerScoped(nameof(ContentDialog)); services.AddTransient((Func>)(provider => new ProxyServiceCollection(services =>