AutoCatAvalonia/AutoCat/Views/AuthWindow.axaml.cs

30 lines
894 B
C#

using AutoCat.ViewModels;
using Avalonia;
using Avalonia.Controls;
using Avalonia.Controls.ApplicationLifetimes;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting.Internal;
namespace AutoCat.Views;
public partial class AuthWindow : Window
{
public AuthWindow()
{
InitializeComponent();
if (DataContext is AuthWindowViewModel vm)
{
vm.ReplaceWithMainWindowEvent += (sender, args) =>
{
if (Application.Current is not App app) return;
if (app.ApplicationLifetime is not IClassicDesktopStyleApplicationLifetime desktop) return;
var mainWindow = app.AppHost.Services.GetRequiredService<MainWindow>();
mainWindow.Show();
desktop.MainWindow = mainWindow;
Close();
};
}
}
}