implement NavigateCommand

This commit is contained in:
Natlinux81
2022-08-27 02:23:07 +02:00
parent 694b932f24
commit fa278fc245
15 changed files with 250 additions and 25 deletions

View File

@@ -9,25 +9,38 @@ namespace Apollon.WPF.ViewModels
{
public class MainViewModel : ViewModelBase
{
private readonly NavigationStore _navigationStore;
private readonly ModalNavigationStore _modalNavigationStore;
public ViewModelBase CurrentModalViewModel => _modalNavigationStore.CurrentViewModel;
public ViewModelBase CurrentViewModel => _navigationStore.CurrentViewModel;
public bool IsModalOpen => _modalNavigationStore.IsOpen;
public OverviewViewModel OverviewViewModel { get; }
public MainViewModel(ModalNavigationStore modalNavigationStore, OverviewViewModel overviewViewModel)
public MainViewModel(ModalNavigationStore modalNavigationStore, OverviewViewModel overviewViewModel, NavigationStore navigationStore)
{
_navigationStore = navigationStore;
_modalNavigationStore = modalNavigationStore;
OverviewViewModel = overviewViewModel;
_modalNavigationStore.CurrentViewModelChanged += ModalNavigationStore_CurrentViewModelChanged;
_navigationStore.CurrentViewModelChanged += NavigationStore_CurrentViewModelChanged;
_modalNavigationStore.CurrentViewModelChanged += ModalNavigationStore_CurrentViewModelChanged;
}
protected override void Dispose()
{
_navigationStore.CurrentViewModelChanged -= NavigationStore_CurrentViewModelChanged;
_modalNavigationStore.CurrentViewModelChanged -= ModalNavigationStore_CurrentViewModelChanged;
base.Dispose();
}
private void NavigationStore_CurrentViewModelChanged()
{
OnPropertyChanged(nameof(CurrentViewModel));
}
private void ModalNavigationStore_CurrentViewModelChanged()
{
OnPropertyChanged(nameof(CurrentModalViewModel));