2017-08-01 21 views
2

私はXamarinフォームを使用しています。ボタンコマンドからナビスタックを取り戻そうとしています。新しいページに移動します(基本的にはリセットします"バックボタンの履歴)。Xamarinフォーム - PopToRootAsyncを押してからPushAsyncがトリガーしない

私も非同期コマンドのラッパーでこれをやってみました
_finishToolbarItem.Command = new Command(o => { 
    Navigation.PopToRootAsync().ContinueWith(task => { 
      Navigation.PushAsync(new StackOverflow()); 
     }, 
     TaskContinuationOptions.OnlyOnRanToCompletion 
    ); 
} 

_finishToolbarItem.Command = new Command(async o => { 
    await Navigation.PopToRootAsync(); 
    await Navigation.PushAsync(new StackOverflow()); 
}); 

これらのアプローチの両方がルートページに私をダンプする - しかしPushAsync()が、それにもかかわらず、機能していないフォローアップ正しい順序で呼び出されます。

Xamarinフォームでnavスタックを元に戻す(「戻る」ボタンに戻ることはできません)、新しいページをプッシュするにはどうすればよいですか?

答えて

1

あなたは

InsertPageBefore (Page yourNewRootPage, Page firstPageInNavigationStack) 

、その後PopToRoot()

0

はこれを試みることができる:

Navigation.InsertPageBefore(new NewPage(),Navigation.NavigationStack[0]); 
await Navigation.PopToRootAsync(); 
関連する問題