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; }
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; }