48 lines
1.3 KiB
C#
48 lines
1.3 KiB
C#
using Avalonia;
|
|
using Avalonia.Controls.ApplicationLifetimes;
|
|
using Avalonia.Markup.Xaml;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Presence.Desktop.DI;
|
|
using Presence.Desktop.ViewModels;
|
|
using Presence.Desktop.Views;
|
|
using domain.UseCase;
|
|
|
|
namespace Presence.Desktop
|
|
{
|
|
public partial class App : Application
|
|
{
|
|
public override void Initialize()
|
|
{
|
|
AvaloniaXamlLoader.Load(this);
|
|
}
|
|
|
|
public override void OnFrameworkInitializationCompleted()
|
|
{
|
|
var serviceCollection = new ServiceCollection();
|
|
serviceCollection.AddCommonService();
|
|
|
|
|
|
serviceCollection.AddSingleton<GroupUseCase>();
|
|
|
|
|
|
var services = serviceCollection.BuildServiceProvider();
|
|
var mainViewModel = services.GetRequiredService<GroupViewModel>();
|
|
|
|
|
|
var groupUseCase = services.GetRequiredService<GroupUseCase>();
|
|
|
|
|
|
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
|
{
|
|
|
|
desktop.MainWindow = new MainWindow()
|
|
{
|
|
DataContext = new MainWindowViewModel(services),
|
|
};
|
|
}
|
|
|
|
base.OnFrameworkInitializationCompleted();
|
|
}
|
|
}
|
|
}
|