diff --git a/Framework/Avalonia/Avalonia.csproj b/Framework/Avalonia/Avalonia.csproj
index 8c89d88..e79bdca 100644
--- a/Framework/Avalonia/Avalonia.csproj
+++ b/Framework/Avalonia/Avalonia.csproj
@@ -11,6 +11,7 @@
+
\ No newline at end of file
diff --git a/Framework/Avalonia/Markups/NavigateExtension.cs b/Framework/Avalonia/Markups/NavigateExtension.cs
index 5911911..a9182f7 100644
--- a/Framework/Avalonia/Markups/NavigateExtension.cs
+++ b/Framework/Avalonia/Markups/NavigateExtension.cs
@@ -463,12 +463,12 @@ public class NavigateExtension : TriggerExtension
name = string.Format(format, name);
}
- mediator.Send(new Navigate(name, parameters.ToArray()) { Route = route });
+ mediator.Send(new Navigate(name, parameters.ToArray()) { Route = route }).ConfigureAwait(false);
}
if (to is Type type)
{
- mediator.Send(new Navigate(type, parameters.ToArray()) { Route = route });
+ mediator.Send(new Navigate(type, parameters.ToArray()) { Route = route }).ConfigureAwait(false);
}
}
}
diff --git a/Framework/Avalonia/Navigation/ContentControlNavigationHandler.cs b/Framework/Avalonia/Navigation/ContentControlNavigationHandler.cs
index abbcde1..cd72723 100644
--- a/Framework/Avalonia/Navigation/ContentControlNavigationHandler.cs
+++ b/Framework/Avalonia/Navigation/ContentControlNavigationHandler.cs
@@ -3,9 +3,9 @@ using Toolkit.Framework.Foundation;
namespace Toolkit.Framework.Avalonia;
-public class ContentControlNavigationHandler : IRequestHandler
+public class ContentControlNavigationHandler : IRequestHandler
{
- public ValueTask Handle(ContentControlNavigation request, CancellationToken cancellationToken)
+ public ValueTask Handle(ContentControlNavigation request, CancellationToken cancellationToken)
{
if (request.Template is TemplatedControl control)
{
@@ -13,6 +13,6 @@ public class ContentControlNavigationHandler : IRequestHandler(true);
+ return default;
}
}
\ No newline at end of file
diff --git a/Framework/Avalonia/Navigation/ContentDialogNavigationHandler.cs b/Framework/Avalonia/Navigation/ContentDialogNavigationHandler.cs
index 0da3122..d4bbed2 100644
--- a/Framework/Avalonia/Navigation/ContentDialogNavigationHandler.cs
+++ b/Framework/Avalonia/Navigation/ContentDialogNavigationHandler.cs
@@ -1,11 +1,12 @@
using FluentAvalonia.UI.Controls;
+using System.Diagnostics;
using Toolkit.Framework.Foundation;
namespace Toolkit.Framework.Avalonia;
-public class ContentDialogNavigationHandler : IRequestHandler
+public class ContentDialogNavigationHandler : IRequestHandler
{
- public async ValueTask Handle(ContentDialogNavigation request, CancellationToken cancellationToken)
+ public ValueTask Handle(ContentDialogNavigation request, CancellationToken cancellationToken)
{
if (request.Template is ContentDialog contentDialog)
{
@@ -35,9 +36,10 @@ public class ContentDialogNavigationHandler : IRequestHandler
+public class FrameNavigationHandler : IRequestHandler
{
- public async ValueTask Handle(FrameNavigation request, CancellationToken cancellationToken)
+ public ValueTask Handle(FrameNavigation request, CancellationToken cancellationToken)
{
request.Route.NavigationPageFactory = new NavigationPageFactory();
@@ -27,6 +27,6 @@ public class FrameNavigationHandler : IRequestHandler
request.Route.NavigateFromObject(content);
}
- return await completionSource.Task;
+ return default;
}
}
\ No newline at end of file
diff --git a/Framework/Avalonia/Navigation/NavigateHandler.cs b/Framework/Avalonia/Navigation/NavigateHandler.cs
index f5bb795..f27a3ad 100644
--- a/Framework/Avalonia/Navigation/NavigateHandler.cs
+++ b/Framework/Avalonia/Navigation/NavigateHandler.cs
@@ -1,5 +1,6 @@
using Avalonia.Controls;
-using FluentAvalonia.UI.Controls;
+using System.Diagnostics;
+using Toolkit.Controls.Avalonia;
using Toolkit.Framework.Foundation;
namespace Toolkit.Framework.Avalonia;
@@ -28,7 +29,7 @@ public class NavigateHandler : IRequestHandler
this.descriptors = descriptors;
}
- public async ValueTask Handle(Navigate request, CancellationToken cancellationToken)
+ public ValueTask Handle(Navigate request, CancellationToken cancellationToken)
{
object? content = null;
object? template = null;
@@ -75,20 +76,17 @@ public class NavigateHandler : IRequestHandler
target = template;
}
- bool hasNavigated = false;
if (target is Frame frame)
{
- hasNavigated = await mediator.Send(new FrameNavigation(frame, content, template, keyedParameters));
+ mediator.Send(new FrameNavigation(frame, content, template, keyedParameters));
}
-
- if (target is ContentDialog dialog)
+ else if (target is ContentDialog dialog)
{
- hasNavigated = await mediator.Send(new ContentDialogNavigation(dialog, content, template, keyedParameters));
+ mediator.Send(new ContentDialogNavigation(dialog, content, template, keyedParameters));
}
-
- if (target is ContentControl contentControl)
+ else if (target is ContentControl contentControl)
{
- hasNavigated = await mediator.Send(new ContentControlNavigation(contentControl, content, template, keyedParameters));
+ mediator.Send(new ContentControlNavigation(contentControl, content, template, keyedParameters));
}
}
else
diff --git a/Framework/Avalonia/Navigation/Navigation.cs b/Framework/Avalonia/Navigation/Navigation.cs
index 9728abb..4a86937 100644
--- a/Framework/Avalonia/Navigation/Navigation.cs
+++ b/Framework/Avalonia/Navigation/Navigation.cs
@@ -3,7 +3,7 @@ using Toolkit.Framework.Foundation;
namespace Toolkit.Framework.Avalonia;
-public record Navigation : IRequest where TRoute : TemplatedControl
+public record Navigation : IRequest where TRoute : TemplatedControl
{
public TRoute Route { get; }
diff --git a/Framework/Foundation/Lifecycles/RequestClassHandlerWrapper.cs b/Framework/Foundation/Lifecycles/RequestClassHandlerWrapper.cs
index 538033d..cbcd98c 100644
--- a/Framework/Foundation/Lifecycles/RequestClassHandlerWrapper.cs
+++ b/Framework/Foundation/Lifecycles/RequestClassHandlerWrapper.cs
@@ -8,7 +8,7 @@ public class RequestClassHandlerWrapper where TRequest : cl
IEnumerable> pipelineBehaviours)
{
MessageHandlerDelegate handler = concreteHandler.Handle;
- foreach (var pipeline in pipelineBehaviours.Reverse())
+ foreach (IPipelineBehavior? pipeline in pipelineBehaviours.Reverse())
{
MessageHandlerDelegate handlerCopy = handler;
IPipelineBehavior pipelineCopy = pipeline;