public void OnConfigure(Enums.NavigationView pageKey) { Type tmpType = null; switch (pageKey) { case Enums.NavigationView.Login: tmpType = typeof(LoginView); break; case Enums.NavigationView.Lottery: break; case Enums.NavigationView.Statistic: break; default: throw new ArgumentOutOfRangeException(nameof(pageKey), pageKey, null); } lock (this.sync) { if (this.pagesByKey.ContainsKey(pageKey.ToString())) { this.pagesByKey[pageKey.ToString()] = tmpType; } else { this.pagesByKey.Add(pageKey.ToString(), tmpType); } } }
/// <summary> /// The on set root page. /// </summary> /// <param name="rootPageKey"> /// The root page key. /// </param> /// <returns> /// The <see cref="Page"/>. /// </returns> public Page OnSetRootPage(Enums.NavigationView rootPageKey) { var rootPage = this.OnGetPage(rootPageKey.ToString()); this.navigationPageStack.Clear(); var mainPage = new NavigationPage(rootPage); this.navigationPageStack.Push(mainPage); return(mainPage); }