using Avalonia.Controls; using Avalonia.Controls.ApplicationLifetimes; using Avalonia.Media; namespace Avalonia.Web.Blazor { public class BlazorSingleViewLifetime : ISingleViewApplicationLifetime { public Control MainView { get; set; } } public static class WebAppBuilder { public static T SetupWithSingleViewLifetime( this T builder) where T : AppBuilderBase, new() { return builder.SetupWithLifetime(new BlazorSingleViewLifetime()); } public static AvaloniaBlazorAppBuilder Configure() where TApp : Application, new() { var builder = AvaloniaBlazorAppBuilder.Configure() .UseSkia() .With(new SkiaOptions { CustomGpuFactory = () => new BlazorSkiaGpu() }); AvaloniaLocator.CurrentMutable.Bind().ToConstant(new FontManager(new CustomFontManagerImpl())); return builder; } } }