QueryStringを使用できます。B
からに移動するときA
は、QueryString を URL に追加します。
NavigationService.Navigate(new Uri("/PageA.xaml?PreviousPage=b", UriKind.Relative));
次に、A's
OnNavigatedTo
メソッドで、PreviousPage
QueryString の値を確認し、その値がb
.
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
string prevPage="";
NavigationContext.QueryString.TryGetValue("PreviousPage", out prevPage);
if(prevPage == "b")
{
//code to call if A is resuming from B
}
}
コメントに基づいて更新します(他の人のために上記のコードを残します)
に関していくつかのオプションがありますBackKey
。まず、上記のコードを使用して、その特定のページを履歴から削除できます。これを行うには、上記のコード内でRemoveBackEntryメソッドを使用します。
if(NavigationService.CanGoBack)
NavigationService.RemoveBackEntry();
バック スタックの詳細については、こちらを参照してください。
App.xaml.cs
または、たとえば、ユーザーがページを離れるたびに更新されるグローバル変数を追跡することもできます。次に、 でA
、その変数をチェックして、前のページが何であったかを確認できます (必要に応じて変数をリセットして、誤って再度読み込まれないようにします)。