예제 #1
0
 private void NavigateContent(string tag)
 {
     if (!ContentMap.ContainsKey(tag))
     {
         Debug.WriteLine($"未知的内容: {tag}");
         return;
     }
     if (NavigateHistory.ContainsKey(tag))
     {
         // has history
         if (previousTag != null)
         {
             // save previous content history
             NavigateHistory[previousTag] = ContentFrame.GetNavigationState();
         }
         // restore history
         ContentFrame.SetNavigationState(NavigateHistory[tag]);
     }
     else
     {
         // navigate to new content
         ContentFrame.Navigate(ContentMap[tag]);
     }
     previousTag = tag;
 }
예제 #2
0
 public MainPage()
 {
     ViewModel = App.ViewModel;
     this.InitializeComponent();
     CoreApplication.GetCurrentView().TitleBar.ExtendViewIntoTitleBar = true;
     Windows.UI.ViewManagement.ApplicationView.GetForCurrentView().TitleBar.ButtonBackgroundColor = Color.FromArgb(0, 0, 0, 0);
     SystemNavigationManager.GetForCurrentView().BackRequested += App_BackRequested;
     if (ApplicationData.Current.LocalSettings.Values.ContainsKey("myNavigationState"))
     {
         ContentFrame.SetNavigationState((string)ApplicationData.Current.LocalSettings.Values["myNavigationState"]);
         ApplicationData.Current.LocalSettings.Values.Remove("myNavigationState");
         Windows.UI.Core.SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = (ContentFrame.CanGoBack) ? AppViewBackButtonVisibility.Visible : AppViewBackButtonVisibility.Collapsed;
     }
     else
     {
         ContentFrame.Navigate(typeof(NavigatorPage));
     }
     ContentFrame.Visibility = Visibility.Visible;
     Current = this;
 }