2017-10-10 81 views
0

當試圖從內容頁面導航到MasterDetail頁面時,菜單圖標不會出現。雖然,如果我第一次加載我的MasterDetail頁面,菜單圖標就應該存在。菜單功能不受影響。在Xamarin Forms上工作,但只有在Android設備上進行調試時纔會出現問題。 有關圖標的任何想法?即刻MasterDetail頁使用的MainPage =新NavigationPage(新的MainPage()) 使用的MainPage =新NavigationPage從內容頁(LoginPage)負載Xamarin Forms - 從內容頁面導航到MasterDetail時出現菜單問題頁面

負荷(新登錄())那麼當一個按鈕被按下導航到MasterDetail頁面使用等待Navigation.PushAsync(new MainPage(),true); 菜單適用於這兩種情況下

回答

0

從內容頁到主詳細頁面更改是通過改變你的導航堆棧實現。您需要替換MainPage來執行此操作。

這是兩種不同類型的導航。

從通常是簡單內容頁面的登錄頁面導航到主應用程序登錄頁面(可以是主細節頁面)時,通常會看到此類型的堆棧交換。

因此,而不是這個

await Navigation.PushAsync(new MainPage(), true); 

做這個

Application.MainPage = new MainPage(); 

如果您使用的是MVVM框架下,最能與StackService注入到視圖模型來實現的。

的MVVM框架我用,FreshMVVM,必須換出內置導航棧的能力。

Follow this link然後跳轉到「關於Xamarin.Forms切換的MainPage出NavigationStacks」部分獲取更多細節。

+0

謝謝你的回答!當試圖做到這一點時,我得到** UNHANDLED EXCEPTION **或者如果我嘗試去捕捉它,** ** System.NullReferenceException:對象引用未設置爲對象的實例** –

+0

你究竟做了什麼? Application.MainPage = new MainPage()? –

+0

只是修正了這個錯誤,不得不將**新的MainPage()**包裝在**等待Navigation.PushAsync(new MainPage(),true); **帶**新的NaviagationPage **工作! –