2012-03-12 15 views

答えて

14

コードからWindows Phoneアプリの開始ページに移動することができます。

WMAppManifestで「DefaultTask」からNavigationPage属性を削除して、あなたのアプリケーションの立ち上げイベントでにナビゲートするには、以下の例のようなものを使用WMAppManifest

から「DefaultTask」のエントリを削除します打ち上げ時に選択したページ。

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の属性を削除することはできます。 –

+0

ああ、訂正してくれてありがとう。エントリを更新します。 –

+0

この方法は私にとってはうまくいきました。ありがとう! – Nico

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

関連する問題