根据条件,切换 Windows Phone 的页面跳转

     有时候,在应用第一次被打开时,可能因为某些条件而需要跳转到其他页面,而不是 MainPage.xaml 页面。

     解决方法,在 App.xaml.cs 页面中的 InitializePhoneApplication 方法中,注册 RootFrame 的 Navigating事件 :

  // 当请求新的导航时发生。
RootFrame.Navigating += RootFrame_Navigating;

在相应的方法中,判断跳转的URI,如果满足某些条件,则切换跳转:

        void RootFrame_Navigating(object sender, NavigatingCancelEventArgs e)
        {
            //导航离开该应用时  e.Uri 为 app://external/           
if (e.Uri.ToString().Contains("/MainPage.xaml")) { //取消默认的跳转 e.Cancel = true; //页面的跳转代码必须在 UI 线程进行执行,否则执行无效 RootFrame.Dispatcher.BeginInvoke(() => { RootFrame.Navigate(new Uri("/Page1.xaml", UriKind.Relative)); }); } }


程序运行,不是跳转到默认的 MainPage.xaml 页面:

原文地址:https://www.cnblogs.com/hebeiDGL/p/3007135.html