MetaforceInstaller/MetaforceInstaller.UI/MainWindow.axaml.cs

40 lines
No EOL
1 KiB
C#

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<NewInstallationDialog>(this);
LoadInstallations();
}
}