using DaSaSo.Wpf.ViewModel.Commands; using DaSaSo.Wpf.ViewModel.Interface; using System; using System.ComponentModel; using System.Runtime.CompilerServices; using System.Windows.Input; namespace DaSaSo.Wpf.ViewModel.State.Navigation { public class MainWindowNavigator : ObservableObject, IMainWindowNavigator { private BaseViewModel _currentViewModel; public BaseViewModel CurrentViewModel { get => _currentViewModel; set { _currentViewModel?.Dispose(); _currentViewModel = value; StateChanged?.Invoke(); } } public event Action StateChanged; } }