コード例 #1
0
        public static async Task NavigateToPageForPageModel(this Page contentPage, INavigationModel navigationModel)
        {
            try
            {
                var page = Locator.Current.GetService(navigationModel.Model.GetType()) as Page;

                var pageCasted = (IViewFor)page;
                if (pageCasted != null)
                {
                    pageCasted.ViewModel = navigationModel.Model;
                }

                if (navigationModel.IsModal)
                {
                    await contentPage.Navigation.PushModalAsync(page, navigationModel.Animated);
                }
                else
                {
                    await contentPage.Navigation.PushAsync(page, navigationModel.Animated);
                }
            }
            catch (Exception e)
            {
                await contentPage.DisplayAlert("Error", $"There was an error navigating to a new page. {e}", "OK");
            }
            finally
            {
                navigationModel?.ToBeCompleted.OnCompleted();
            }
        }
コード例 #2
0
 internal void Initialize(INavigationModel navigationModel)
 {
     _navigationModel = navigationModel;
 }
コード例 #3
0
 internal void Initialize(INavigationModel navigationModel)
 {
     _navigationModel            = navigationModel;
     _navigationModel.Navigated += _navigationModel_Navigated;
 }
コード例 #4
0
 public ActionResult GetView(string viewName, INavigationModel model)
 {
     return(this.PartialView(viewName, model));
 }
コード例 #5
0
 public ActionResult GetView(string viewName, INavigationModel model)
 {
     return this.PartialView(viewName, model);
 }
コード例 #6
0
 public MegaMenuModel(IRestClient restClient, INavigationModel navigationModel)
 {
     this.restClient      = restClient;
     this.navigationModel = navigationModel;
 }