Toolkit.Avalonia

This commit is contained in:
TheXamlGuy
2024-04-13 14:55:33 +01:00
parent 862e7b2e34
commit 705d84e56d
13 changed files with 763 additions and 3 deletions
@@ -0,0 +1,28 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Controls.ApplicationLifetimes;
using Toolkit.Foundation;
namespace Toolkit.Avalonia;
public class SingleViewApplicationHandler(INavigationContext navigationContext) :
INavigateHandler<ISingleViewApplicationLifetime>
{
public Task Handle(Navigate<ISingleViewApplicationLifetime> args,
CancellationToken cancellationToken = default)
{
if (Application.Current?.ApplicationLifetime is
ISingleViewApplicationLifetime lifeTime)
{
if (args.Template is Control control)
{
lifeTime.MainView = control;
control.DataContext = args.Content;
navigationContext.Set(control);
}
}
return Task.CompletedTask;
}
}