2017-08-05 31 views
0

我從 https://github.com/PrismLibrary/Prism/tree/master/Sandbox/Xamarin/HelloWorldHelloWorld示例代碼不工作在Android上:後退按鈕不可見

樣本應用程序,我測試了它在Android上6:

  1. 從運行示例代碼的應用程序(任何修改),它顯示了ViewA的MainPage
  2. 在菜單中點擊,它定位到ViewA,但在應用欄沒有後退按鈕。

點擊設備返回按鈕的作品,它導航回到MainPage。

我期待的行爲是看到在酒吧後退按鈕了。

UPDATE

我調試棱鏡,並且我可以打電話只是currentPage.Navigation.PushAsync(page, animated)清楚地看到棱鏡的PageNavigationService導航到ViewA。 我可以看到,Xamarin形式的NavigationImplNavigationStack有兩頁,MainPageViewA。所以MainPage仍然在導航堆棧中,但由於某種原因後退按鈕不可見。

答案! @lowleetak發現樣本中存在一個隱藏後退按鈕的電話!

回答

1

該應用程序在MasterDetail頁面開始。其中MasterPage是Menu和DetailPage最初是MyNavigationPage/MainPage。

當您從菜單中單擊ViewA,它是從通首頁MyNavigationPage/ViewA改變DetailPage。它是DetailPage的導航堆棧中的根/初始頁面。所以,沒有後退按鈕顯示。

+0

因此,注入'MyMasterDetailViewModel'中的'navigationService'通過替換Details來導航。如何導航到ViewA,以便後退按鈕可見? –

+0

我正在調試Prism,我不認爲你說的是​​正確的。我可以清楚地看到Prism的'PageNavigationService'通過調用'currentPage.Navigation.PushAsync(page,animated)'導航到'ViewA'。我可以看到,Xamarin Forms的「INavigation」具有帶兩頁的「NavigationStack」,MainPage和ViewA。所以MainPage仍然在導航堆棧中。爲什麼不顯示後退按鈕? –

+0

棱鏡是否以任何方式操作後退按鈕? –