2025-04-07 23:25:45 +08:00

66 lines
1.8 KiB
C#

using Seyounth.Hyosung.UI.ViewModels.Windows;
using Wpf.Ui;
using Wpf.Ui.Appearance;
using Wpf.Ui.Controls;
namespace Seyounth.Hyosung.UI.Views.Windows
{
public partial class MainWindow : INavigationWindow
{
public MainWindowViewModel ViewModel { get; }
public MainWindow(
MainWindowViewModel viewModel,
IPageService pageService,
ISnackbarService snackbarService,
INavigationService navigationService
)
{
ViewModel = viewModel;
DataContext = this;
SystemThemeWatcher.Watch(this);
InitializeComponent();
SetPageService(pageService);
snackbarService.SetSnackbarPresenter(SnackbarPresenter);
navigationService.SetNavigationControl(RootNavigation);
}
#region INavigationWindow methods
public INavigationView GetNavigation() => RootNavigation;
public bool Navigate(Type pageType) => RootNavigation.Navigate(pageType);
public void SetPageService(IPageService pageService) => RootNavigation.SetPageService(pageService);
public void ShowWindow() => Show();
public void CloseWindow() => Close();
#endregion INavigationWindow methods
/// <summary>
/// Raises the closed event.
/// </summary>
protected override void OnClosed(EventArgs e)
{
base.OnClosed(e);
// Make sure that closing this window will begin the process of closing the application.
Application.Current.Shutdown();
}
INavigationView INavigationWindow.GetNavigation()
{
throw new NotImplementedException();
}
public void SetServiceProvider(IServiceProvider serviceProvider)
{
throw new NotImplementedException();
}
}
}