当应用程序在Windows Phone 7中启动时,如何显示不同的页面?

时间:2012-03-12 09:41:09

标签: windows-phone-7

当app启动时需要显示注册page.once用户注册它不应该去注册页面需要登录页面。 怎么做到这一点?

2 个答案:

答案 0 :(得分:14)

您可以从代码导航到Windows Phone应用的开始页面。

从WMAppManifest中删除“DefaultTask”条目

从WMAppManifest中的“DefaultTask”中删除NavigationPage属性,并在应用程序的启动事件中使用类似下面示例的内容导航到启动时选择的页面。

    private void Application_Launching(object sender, LaunchingEventArgs e)
    {
        if (registered)
        {
           ((App)Application.Current).RootFrame.Navigate(new Uri("/<your start page>.xaml", UriKind.Relative));
        }
        else
        {
           ((App)Application.Current).RootFrame.Navigate(new Uri("/<your registration page>.xaml", UriKind.Relative));
        }

    }

您只需决定如何确定某人已注册。

答案 1 :(得分:1)

我想你没有多想过这个,设置很简单!当用户注册时,您可以在定义用户已注册的设置中设置变量。当应用程序启动时,评估此设置,如果用户注册,则显示注册页面,否则显示登录页面。例如:

//After (succesful) registration
Properties.Settings.Default.HasRegistered = true; 
Properties.Settings.Default.Save();

//Check the value
var hasRegistered = Properties.Settings.Default.HasRegistered;
if(hasRegistered)
    //show Login
else
    //show Registration

您也可以使用IsolatedStorageSettings.ApplcationSettings来执行此操作。下面的代码只是示例代码,如果设备首次启动时已存在设置,则必须提供验证,如果尚未进行注册,则必须为设置设置默认值“false”。

//After registration
var settings = IsolatedStorageSettings.ApplicationSettings;
if (settings.Contains("HasRegistered"))
    settings["HasRegistered"] = true;
settings.Save();

//Check value
var settings = IsolatedStorageSettings.ApplicationSettings;
if (settings.Contains("HasRegistered"))
{
    var registered = bool.Parse(settings["HasRegistered"]);
    if(registered)
        //show login
    else
        //show registration
}

希望这有帮助!