using Avalonia; using Avalonia.Controls.Shapes; using Avalonia.Markup.Xaml; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using PropertyChanged; using System; using System.IO; using TheXamlGuy.Framework.Avalonia; using TheXamlGuy.Framework.Core; using Path = System.IO.Path; namespace KingPing; [DoNotNotify] public partial class App : Application { public override void Initialize() { AvaloniaXamlLoader.Load(this); } public override async void OnFrameworkInitializationCompleted() { IHost? host = new HostBuilder() .UseContentRoot(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "Builder"), true) .ConfigureTemplates(configuration => { configuration.Add(); configuration.Add("Main"); configuration.Add("Shell"); configuration.Add("DigitalOutputs"); configuration.Add("DigitalInputs"); configuration.Add("AnalogOutputs"); configuration.Add(); configuration.Add("Favourites"); }) .ConfigureServices(ConfigureServices) .Build(); await host.RunAsync(); base.OnFrameworkInitializationCompleted(); } private void ConfigureServices(HostBuilderContext context, IServiceCollection services) { services.AddReqiredCore() .AddRequiredAvalonia() .AddHostedService() .RegisterHandlers(); } }