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 /// /// Raises the closed event. /// 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(); } } }