Files
Needlework.Net/Needlework.Net.Desktop/App.axaml.cs
BlossomiShymae ed89a1d543 WIP
2024-08-08 21:16:02 -05:00

47 lines
1.3 KiB
C#

using Avalonia;
using Avalonia.Controls;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Markup.Xaml;
using Microsoft.Extensions.DependencyInjection;
using Needlework.Net.Desktop.ViewModels;
using Needlework.Net.Desktop.Views;
using System;
using System.Text.Json;
namespace Needlework.Net.Desktop;
public partial class App(IServiceProvider serviceProvider) : Application
{
private readonly IServiceProvider _serviceProvider = serviceProvider;
public static JsonSerializerOptions JsonSerializerOptions { get; } = new()
{
WriteIndented = true,
Encoder = System.Text.Encodings.Web.JavaScriptEncoder.UnsafeRelaxedJsonEscaping,
};
public static readonly int MaxCharacters = 10_000;
public static Window? MainWindow;
public override void Initialize()
{
AvaloniaXamlLoader.Load(this);
}
public override void OnFrameworkInitializationCompleted()
{
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
{
desktop.MainWindow = new MainWindow()
{
DataContext = _serviceProvider.GetRequiredService<MainWindowViewModel>()
};
MainWindow = desktop.MainWindow;
}
base.OnFrameworkInitializationCompleted();
}
}