2012-03-12 50 views

回答

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

    } 

您只需決定如何確定某人已經註冊。

+0

您不能刪除DefaultTask條目。但是,您可以從中刪除NavigationPage atrribute。 – 2012-03-12 12:34:09

+0

啊,是的,謝謝你的更正。我會更新條目。 – 2012-03-12 12:41:13

+0

這種方法對我很好。謝謝! – Nico 2012-04-14 23:08:48

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 
} 

希望這有助於!

+1

我想你還沒有對此做過多的考慮,因爲上面的答案更容易。 ;-) – MEMark 2013-12-19 13:24:21

相關問題