Switch out dotnet ctk messenger for source gen Meditor

This commit is contained in:
Daniel Clark
2022-12-07 19:30:31 +00:00
parent 1cd2141ad5
commit 6df08fc42c
22 changed files with 280 additions and 192 deletions
@@ -4,31 +4,30 @@ using FluentAvalonia.UI.Navigation;
namespace Toolkit.Foundation.Avalonia
{
public class FrameHandler : NavigationRouteHandler<Frame>
{
public override async void Receive(NavigationRouteRequest<Frame> message)
{
message.Target.NavigationPageFactory = new NavigationPageFactory();
//public class FrameHandler : NavigationRouteHandler<Frame>
//{
// public override async void Receive(NavigationRouteRequest<Frame> message)
// {
// message.Target.NavigationPageFactory = new NavigationPageFactory();
TaskCompletionSource<bool> completionSource = new();
if (message.Template is TemplatedControl content)
{
void HandleNavigated(object sender, NavigationEventArgs args)
{
message.Target.Navigated -= HandleNavigated;
if (message.Target.Content is TemplatedControl control)
{
control.DataContext = message.Data;
completionSource.SetResult(true);
}
}
// TaskCompletionSource<bool> completionSource = new();
// if (message.Template is TemplatedControl content)
// {
// void HandleNavigated(object sender, NavigationEventArgs args)
// {
// message.Target.Navigated -= HandleNavigated;
// if (message.Target.Content is TemplatedControl control)
// {
// control.DataContext = message.Content;
// completionSource.SetResult(true);
// }
// }
message.Target.Navigated += HandleNavigated;
message.Target.NavigateFromObject(content);
}
// message.Target.Navigated += HandleNavigated;
// message.Target.NavigateFromObject(content);
// }
bool result = await completionSource.Task;
message.Reply(result);
}
}
// message.Reply(await completionSource.Task);
// }
//}
}