presence/Presence.Desktop/App.axaml.cs

70 lines
2.3 KiB
C#
Raw Permalink Normal View History

2024-12-23 15:12:32 +00:00
using System;
2024-12-04 19:33:12 +00:00
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;
namespace Presence.Desktop
{
public partial class App : Application
{
2024-12-23 15:12:32 +00:00
public static IServiceProvider? ServiceProvider { get; private set; }
2024-12-04 19:33:12 +00:00
public override void Initialize()
{
AvaloniaXamlLoader.Load(this);
}
public override void OnFrameworkInitializationCompleted()
{
var serviceCollection = new ServiceCollection();
serviceCollection.AddCommonService();
2024-12-23 15:12:32 +00:00
ServiceProvider = serviceCollection.BuildServiceProvider();
2024-12-04 19:33:12 +00:00
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
{
desktop.MainWindow = new MainWindow()
{
2024-12-23 15:12:32 +00:00
DataContext = new MainWindowViewModel(ServiceProvider),
2024-12-04 19:33:12 +00:00
};
}
base.OnFrameworkInitializationCompleted();
}
}
2024-12-23 15:12:32 +00:00
}
// using System;
// using Avalonia.Controls.ApplicationLifetimes;
// using Microsoft.Extensions.DependencyInjection;
// using Presence.Desktop.DI;
// using Presence.Desktop.ViewModels;
// using Presence.Desktop.Views;
// using static System.Net.Mime.MediaTypeNames;
// namespace Presence.Desktop
// {
// public partial class App : Application
// {
// public static IServiceProvider? ServiceProvider { get; private set; }
// public override void OnFrameworkInitializationCompleted()
// {
// var serviceCollection = new ServiceCollection();
// serviceCollection.AddCommonService(); // Зарегистрируйте свои сервисы
// ServiceProvider = serviceCollection.BuildServiceProvider();
// if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
// {
// desktop.MainWindow = new MainWindow
// {
// DataContext = new MainWindowViewModel(ServiceProvider),
// };
// }
// base.OnFrameworkInitializationCompleted();
// }
// }
// }