0

Windows Phone 7 用の時間割アプリを作成しています。時間割には 2 つのビューがあります。1 つはその週のすべてのクラスを表示するフル ビューで、もう 1 つは曜日に応じてその内容が表示される日ビューです。設定ページでのユーザーの選択に応じて、これらの異なるページのいずれかをデフォルトでロードするにはどうすればよいですか。MainPage クラスのコンストラクターでナビゲート サービスを使用してみました。

NavigateService.Navigate(new Uri("/Today.xaml",UriKind.Relative));
4

1 に答える 1

1

「MainPage.xaml」プロパティで、「イベント」タブに移動します。「Loaded」イベントを見つけてダブルクリックします。次のように作成されたメソッドを使用して、 「MainPage.xaml.cs」にいることに気付くでしょう。

private void MainPage_Loaded(object sender, RoutedEventArgs e)
{
     //Some code may already be written       
}

設定ページで保存した状態に応じて、「MainPage_Loaded」メソッド内に次のような条件ステートメントを含めることができます。

if(condition1)
{
    NavigateService.Navigate(new Uri("/Today.xaml",UriKind.Relative));
}
else if(condition2)
{
    // Navigate to a different Uri
}

これにより、ユーザーは次のページに直接移動します。

その後、戻るボタンが押された場合にアプリケーションを終了し、前のページに移動しないようにする必要があると思います。このためには、移動したばかりのページの「Loaded」メソッドに次のコードを配置する必要があります。

while (NavigationService.BackStack.Any())
{
    NavigationService.RemoveBackEntry();
}

これにより、アプリケーションの BackStack がクリアされ、戻るボタンが押された場合にアプリケーションを終了できるようになります。

于 2012-12-11T13:44:36.503 に答える