|
|
|
|
@ -8,21 +8,26 @@ public partial class App : Application
|
|
|
|
|
public App()
|
|
|
|
|
{
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
|
|
|
|
|
var services = new ServiceCollection();
|
|
|
|
|
ConfigureServices(services);
|
|
|
|
|
var serviceProvider = services.BuildServiceProvider();
|
|
|
|
|
|
|
|
|
|
MainPage = serviceProvider.GetService<MainPage>();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ConfigureServices(ServiceCollection services)
|
|
|
|
|
protected override Window CreateWindow(IActivationState? activationState)
|
|
|
|
|
{
|
|
|
|
|
services.AddSingleton<IFileSystemService, FileSystemService>();
|
|
|
|
|
services.AddSingleton<IPanelManager, PanelManager>();
|
|
|
|
|
services.AddSingleton<IFileOperations, FileOperations>();
|
|
|
|
|
services.AddSingleton<IKeyboardService, KeyboardService>();
|
|
|
|
|
services.AddSingleton<IPathHelper, PathHelper>();
|
|
|
|
|
services.AddSingleton<MainPage>();
|
|
|
|
|
// Создаем сервисы непосредственно в CreateWindow
|
|
|
|
|
var fileService = new FileSystemService();
|
|
|
|
|
var panelManager = new PanelManager();
|
|
|
|
|
var fileOperations = new FileOperations();
|
|
|
|
|
var keyboardService = new KeyboardService();
|
|
|
|
|
var pathHelper = new PathHelper();
|
|
|
|
|
|
|
|
|
|
var mainPage = new MainPage(fileService, panelManager, fileOperations, keyboardService, pathHelper);
|
|
|
|
|
var window = new Window(new AppShell(mainPage));
|
|
|
|
|
|
|
|
|
|
// Обработка закрытия окна
|
|
|
|
|
window.Destroying += (s, e) =>
|
|
|
|
|
{
|
|
|
|
|
// keyboardService?.Dispose();
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
return window;
|
|
|
|
|
}
|
|
|
|
|
}
|