using Avalonia.Controls; using Avalonia.Interactivity; using MetaforceInstaller.Core.Intefaces; using MetaforceInstaller.Core.Services; using MetaforceInstaller.UI.ViewModels; namespace MetaforceInstaller.UI; public partial class MainWindow : Window { private MainWindowViewModel _viewModel; private IStorageService _storageService; public MainWindow() { InitializeComponent(); _viewModel = new MainWindowViewModel(); DataContext = _viewModel; _storageService = new StorageService(); NewInstallationButton.Click += OnNewInstalltionClick; LoadInstallations(); } private void LoadInstallations() { var appData = _storageService.Load(); _viewModel.LoadInstallations(appData.Installations); } public async void OnNewInstalltionClick(object? sender, RoutedEventArgs e) { var newInstallationDialog = new NewInstallationDialog(); await newInstallationDialog.ShowDialog(this); LoadInstallations(); } }