2016-10-24 7 views
0

ContentPageのOnAppearingイベントの中にユーザーがどのページから来るのかを検出する方法はありますか?また、ページをナビゲーションにプッシュするか、またはポップすることで、OnユーザーがどのページからXamarin.formsに来ているかを確認してください

私はこのようなことをしようとしています。使用

protected override void OnAppearing() 
{ 
    base.OnAppearing(); 
    if(/*User comes from certain page*/){ 
     //Do stuff 
    }else{ 
     //Do other stuff 
    } 
} 
+0

を使用していますか? –

+0

@DakshalRaijadaはい、ごめんなさい。 NavigationスタックとCall Navigation.PushAsync(新しいページ())またはNavigation.PopAsync()を使用しています。後ろをナビゲートする – Aytee

答えて

2

NavigationStackあなたがスタックにプッシュされているPage秒を表示することができます。以下のような

content.Appearing += (sender, e) => 
{ 
    var pages = Application.Current.MainPage.Navigation.NavigationStack; 
    foreach (var page in pages) 
    { 
     System.Diagnostics.Debug.WriteLine(page.Title); 
    } 
}; 

したがって、あなたはちょうどあなたがどこから来ているかを決定するために、最後のページに2番目を見ている....

何か:あなたは、ナビゲーションスタックを

Application.Current.MainPage.Navigation.NavigationStack.Reverse().Take(2).Last(); 
+0

さて、私はそれを今すぐ参照してください。それは混乱しています。Navigation.PopAsync();ポップされたページはまだNavigationStackにあります。 – Aytee

関連する問題