A cross-platform UI framework for .NET
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

31 lines
889 B

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<T>(
this T builder)
where T : AppBuilderBase<T>, new()
{
return builder.SetupWithLifetime(new BlazorSingleViewLifetime());
}
public static AvaloniaBlazorAppBuilder Configure<TApp>()
where TApp : Application, new()
{
var builder = AvaloniaBlazorAppBuilder.Configure<TApp>()
.UseSkia()
.With(new SkiaOptions { CustomGpuFactory = () => new BlazorSkiaGpu() });
return builder;
}
}
}