-1

私は、ユーザーの名前、年齢、場所に基づいてユーザーに情報を提供するこのアプリケーションを構築しています。

アプリケーションを初めて起動する場合は、ユーザーをFirstTimePage.xamlにリダイレクトして、名前、年齢、場所を保存できるようにします。

ユーザーが初めてアプリケーションを開かない場合、アプリケーションは分離ストレージから名前、年齢、場所を取得するため、FirstTimePage.xamlにアクセスする必要はありません。

現在、分離ストレージ上のデータが存在するかどうかをMainPage.xamlで確認しています。それらが存在する場合、ユーザーはMainPage.xamlにとどまります。それらが存在しない場合、ユーザーはFirstTimePage.xamlにリダイレクトされます。

私の問題:

ユーザーが初めてアプリケーションを開くと、FirstTimePage.xamlにリダイレクトされた場合でも、数フレームの間、MainPage.xamlが表示されます。一瞬もありませんが、少し醜いです。そこで、「チェック」コードをapp.xaml.cs(アプリケーションの起動時に実行されるコードブロック内)に配置しようとしました。

問題は、ナビゲーションコードを認識しないことです。太字の「NavigationService.Navigate...」でエラーが発生します。

問題を解決するにはどうすればよいですか?

4

1 に答える 1

2

ナビゲーションを制御するには、ページが実際に読み込まれる前ににApplication.Current.RootFrameアクセスするためにを呼び出す必要があります。NavigationService

private void Application_Launching(object sender, LaunchingEventArgs e)
    {
            //Logic should go here to determine what page needs to load
            Uri nUri = new Uri("/Page1.xaml", UriKind.Relative);
            ((App)Application.Current).RootFrame.Navigate(nUri);

    }

詳細については、スタートページの設定を参照してください。

于 2013-01-07T19:02:04.017 に答える