2017-07-20 7 views
0

5ページでFreshTabbedNavigationContainerを設定しました。ユーザーが別のタブを選択することで、離れて移動し、この public Command AboutCommand { get { return new Command(() => { CoreMethods.PushPageModel<AboutPageModel>(); }); } }FreshMvvm - FreshTabbedNavigationContainerでページの子ページを閉じる

ようSettingsPageModelを介して表示される表示する方法はありSettingsPageあるとAboutPage第五のタブページ内の には、この他のタブが正しく表示されます。 ユーザーがタブを介してSettingsPageを選択すると、AboutPageという子が自動的に表示されます。 別のタブページが選択されている場合、ナビゲーションスタックからAboutPageを削除したいと考えています。

私はAboutPage.xaml.cs

protected override void OnDisappearing() 
    { 
     base.OnDisappearing(); 
     ((AboutPageModel)BindingContext).CoreMethods.RemoveFromNavigation(); 
    } 

この作品でこれを試してみましたが、バックボタンがアプリ上で押された場合、それはすでにナビゲーションスタックから削除されたときAboutPageであり、アプリがクラッシュします。

PageModelがナビゲーションスタックにまだ残っているかどうかを確認するにはどうすればよいですか?

私は問題を解決するために管理している:)

私はFreshTabbedNavigationContainerを作成するアプリケーションのコンストラクタでApp.xaml.csファイルでは、メインページ

MainPage = tabbedNavigation; 

を設定した後、私はその後、追加

答えて

0

次のコード

tabbedNavigation.CurrentPageChanged += (sender, e) => { 
    tabbedNavigation.PopToRoot(); 
}; 

これは完全に機能します。

関連する問題