using Apollon.WPF.Stores; using Apollon.WPF.ViewModels; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Apollon.WPF.Services { public class LayoutNavigationService : INavigationService where TViewModel : ViewModelBase { private readonly NavigationStore _navigationStore; private readonly Func _createViewModel; private readonly Func _createNavBarPreparationViewModel; public LayoutNavigationService(NavigationStore navigationStore, Func createViewModel, Func createNavBarPreparationViewModel) { _navigationStore = navigationStore; _createViewModel = createViewModel; _createNavBarPreparationViewModel = createNavBarPreparationViewModel; } public void Navigate() { _navigationStore.CurrentViewModel = new LayoutViewModel(_createNavBarPreparationViewModel(), _createViewModel()); } } }