34 lines
1.2 KiB
C#
34 lines
1.2 KiB
C#
using Avalonia.Controls.Primitives;
|
|
using FluentAvalonia.UI.Controls;
|
|
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();
|
|
|
|
// 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.Reply(await completionSource.Task);
|
|
// }
|
|
//}
|
|
}
|