public MainViewModel( IUserRepository userRepository, IMasterViewModel masterViewModel, INavigationService navigationService) { _userRepository = userRepository; _navigationService = navigationService; MasterViewModel = masterViewModel; OnLoad(); }
public MasterDetailedMainViewModel( INavigationService navigationService, IMasterViewModel masterViewModel, INavigationItemAdapter navigationItemAdapter) { MasterViewModel = masterViewModel; this.WhenAnyValue(x => x.MasterViewModel.SelectedNavigationItem) .Where(navigationItem => navigationItem != 0) .Select(navigationItemAdapter.GetViewModelFromNavigationItem) .Subscribe(async viewModel => { await navigationService.NavigateToMainPageContent(viewModel); IsNavigated = true; }); }
/// <summary> /// Raised when the user loads the page /// Register to the MVVM Light Messenger /// </summary> /// <param name="e">Navigation event arguments</param> protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); // Register to the MVVM Light Messenger Messenger.Default.Register <Member>(this, GoToDetailsPage); // If the user loads the page for the first time, load elements if (e.NavigationMode == NavigationMode.New) { IMasterViewModel <Member> viewModel = (IMasterViewModel <Member>)DataContext; if (App.IsInternetAvailable && viewModel.LoadElementsCommand.CanExecute(this)) { viewModel.LoadElementsCommand.Execute(this); } } }
/// <summary> /// Raised when the user load page /// </summary> /// <param name="e">Navigation event arguments</param> protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); // Register to the MVVM Light Toolkit Messenger Messenger.Default.Register <Show>(this, GoToDetailsPage); Messenger.Default.Register <PinnableObject>(this, Pin); Messenger.Default.Register <ShareableObject>(this, Share); // If the user loads the page for the first time, load shows from the model if (e.NavigationMode == NavigationMode.New) { IMasterViewModel <Show> viewModel = (IMasterViewModel <Show>)DataContext; if (App.IsInternetAvailable && viewModel.LoadElementsCommand.CanExecute(this)) { viewModel.LoadElementsCommand.Execute(this); } } }