예제 #1
0
        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;
            });
        }
예제 #3
0
        /// <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);
                }
            }
        }
예제 #4
0
        /// <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);
                }
            }
        }