-2

イベントに次のコードを記述した場合、私は疑問に思っています:

    this.NavigationService.Navigate(new Uri("/Page1.xaml", UriKind.RelativeOrAbsolute));
    this.NavigationService.Navigate(new Uri("/Page2.xaml", UriKind.RelativeOrAbsolute));

これにより、常に Page1 に移動します。Page2 をナビゲートする必要がある場合、そのような動作をオーバーライドする理由と方法を教えてください。

4

1 に答える 1

1

Navigate() メソッドは非同期メソッドです。最初の「ナビゲーション」がまだ進行中であるために 2 番目の呼び出しが実行されたため、キャンセルされた可能性があります。これを確認するために、間に短い一時停止を追加してみてください。

編集: ソース ページのNavigatedFromハンドラー、ターゲット ページのNavigatedToハンドラー、またはApp クラスのNavigatingハンドラーのいずれかで、Navigate() への最初の呼び出しをキャンセルできます。event.Cancel = true;ナビゲーションをキャンセルするには、電話してください。

于 2012-11-01T07:26:55.610 に答える