presence/Presence.Desktop/App.axaml.cs

46 lines
1.4 KiB
C#
Raw Normal View History

2025-04-30 01:13:44 +00:00
using System;
2024-11-29 15:14:56 +00:00
using Avalonia;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Markup.Xaml;
using Microsoft.Extensions.DependencyInjection;
2025-04-30 01:13:44 +00:00
using Microsoft.Extensions.Logging;
2024-11-29 15:14:56 +00:00
using Presence.Desktop.DI;
using Presence.Desktop.ViewModels;
using Presence.Desktop.Views;
namespace Presence.Desktop
{
public partial class App : Application
{
2025-04-30 01:13:44 +00:00
public static IServiceProvider? ServiceProvider { get; private set; }
2024-11-29 15:14:56 +00:00
public override void Initialize()
{
AvaloniaXamlLoader.Load(this);
}
public override void OnFrameworkInitializationCompleted()
{
var serviceCollection = new ServiceCollection();
serviceCollection.AddCommonService();
2025-04-30 01:13:44 +00:00
serviceCollection.AddLogging(builder =>
{
builder.AddConsole();
builder.SetMinimumLevel(LogLevel.Debug);
});
ServiceProvider = serviceCollection.BuildServiceProvider();
2024-11-29 15:14:56 +00:00
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
{
2024-12-05 08:26:58 +00:00
desktop.MainWindow = new MainWindow()
2024-11-29 15:14:56 +00:00
{
2025-04-30 01:13:44 +00:00
DataContext = new MainWindowViewModel(ServiceProvider),
2024-11-29 15:14:56 +00:00
};
}
base.OnFrameworkInitializationCompleted();
}
}
}