public MainPageViewModel() { NavigationCommand = new RelayCommand((object args) => Navigate(args)); NavigationViewItems = new ObservableCollection <NavigationViewItem>(CreateNavigationViewItems()); // De navigatiebalk weet niet dat standaard het geselecteerde icoontje het huisje is, dus dit wordt manueel gedaan SelectedItem = NavigationViewItems.FirstOrDefault(); // De homepage wordt meteen toegevoegd aan de navigatiegeschiedenis NavigationHistoryItems.Add(new HomePageViewModel(this)); // Als de gebruiker aangemeld is, dan moet er een gepast extra icoontje in de navigatiebalk verschijnen try { var role = UserUtils.GetUserRole(); if (role.ToLower() == "customer") { AddSubscriptionNavigationViewItem(); } else if (role.ToLower() == "merchant") { AddMerchantPanelNavigationViewItem(); } } catch { Debug.WriteLine("De gebruiker is niet aangemeld."); } CurrentData = NavigationHistoryItems[0]; InitializeBackButton(); }
// Deze functie wordt uitgevoerd wanneer op de back button geklikt wordt public void BackButtonPressed() { var index = NavigationHistoryItems.Count - 1; CurrentData = NavigationHistoryItems[index - 1]; NavigationHistoryItems.RemoveAt(index); AdjustSelectedItem(); AdjustBackButtonVisibility(); }
// Navigeren naar een nieuwe viewmodel en toevoegen aan de navigatie geschiedenis public void NavigateTo(ViewModelBase viewModel) { if (CurrentData.GetType() != viewModel.GetType()) { var index = NavigationHistoryItems.Count; NavigationHistoryItems.Add(viewModel); CurrentData = NavigationHistoryItems[index]; AdjustSelectedItem(); AdjustBackButtonVisibility(); } }