Example #1
0
 public void PushPage <TViewModel>(Page page) where TViewModel : BaseViewModel
 {
     if (!_viewFactory.IsDetailView <TViewModel>())
     {
         _navigation.PushAsync(page);
     }
     else
     {
         var    masterViewModel = MasterViewModel;
         UIPage masterPage      = null;
         if (masterViewModel == null)
         {
             masterPage      = _viewFactory.CreateView <TMasterViewModel>();
             masterViewModel = (TMasterViewModel)masterPage.BindingContext;
             masterViewModel.SetNavigation(_navigation);
         }
         masterViewModel.Detail = page;
         if (MasterViewModel == null)
         {
             _navigation.PushAsync(masterPage);
         }
     }
 }