在Windows Phone 8.1通用应用程序中设置启动页面

时间:2014-11-05 10:47:55

标签: c# windows-phone-8.1

我需要根据已登录的用户更改我的应用中的起始页面。在Silverlight 8.1版本中,我需要做的就是删除清单文件和App.xaml.cs中的起始页面:

private void Application_Launching(object sender, LaunchingEventArgs e)
        {
            Uri uriMain = new Uri("/PivotPage.xaml", UriKind.Relative);
            Uri uriLogin = new Uri("/MainPage.xaml", UriKind.Relative);

            var settings = IsolatedStorageSettings.ApplicationSettings;
            if (!settings.Contains("user_id"))
                {
                    RootFrame.Navigate(uriLogin);
                }
            else
            {
                RootFrame.Navigate(uriMain);
            }  
        }

但是在通用版本中,我无法弄清楚我该怎么做。我需要做些什么才能在WP 8.1universal应用程序中实现这个目标?

修改 找到了重复的Change default startup page for windows phone 8.1 app,抱歉

1 个答案:

答案 0 :(得分:4)

在App.xaml.cs中查找

protected override void OnLaunched(LaunchActivatedEventArgs e)
{
    // ...

    // launch codes
    // insert here

    // Ensure the current window is active
    Window.Current.Activate();
}

我的启动代码检测到他们是否在电话上,所以我有一个起始页面 每个平台都有所不同

#if WINDOWS_PHONE_APP
    if (!rootFrame.Navigate(typeof(PhonePage), e.Arguments))
    {
        throw new Exception("Failed to create initial page");
    }
#endif
#if WINDOWS_APP
    if (!rootFrame.Navigate(typeof(DesktopPage), e.Arguments))
    {
        throw new Exception("Failed to create initial page");
    }       
#endif