using Apollon.WPF.Stores; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Apollon.WPF.ViewModels { public class MainViewModel : ViewModelBase { private readonly ModalNavigationStore _modalNavigationStore; public ViewModelBase CurrentModalViewModel => _modalNavigationStore.CurrentViewModel; public bool IsModalOpen => _modalNavigationStore.IsOpen; public OverviewViewModel OverviewViewModel { get; } public MainViewModel(ModalNavigationStore modalNavigationStore, OverviewViewModel overviewViewModel) { _modalNavigationStore = modalNavigationStore; OverviewViewModel = overviewViewModel; _modalNavigationStore.CurrentViewModelChanged += ModalNavigationStore_CurrentViewModelChanged; } protected override void Dispose() { _modalNavigationStore.CurrentViewModelChanged -= ModalNavigationStore_CurrentViewModelChanged; base.Dispose(); } private void ModalNavigationStore_CurrentViewModelChanged() { OnPropertyChanged(nameof(CurrentModalViewModel)); OnPropertyChanged(nameof(IsModalOpen)); } } }