[英]MasterDetailPage and NavigationPage combination within Xamarin
我正在創建一個Xamarin應用程序,我想在其中合並多個頁面, MasterDetailPage
和NavigationPage
。
我MainPage
包含MasterDetailPage
,所述的主MasterDetailPage
包含的觀點的列表(自定義類,其存儲的信息,如類類型,圖像顯示和名稱),用戶可以觀看。 這些視圖都是ContentPage
。 單擊列表中的一項時, ContentPage
將通過反射進行初始化,然后存儲在MasterDetailPage
。 目前,一切都按照Xamarin的建議進行。
但是這些ContentPages
包含ListView
。
選擇一個項目后, ListView
必須打開一個detailview,並且用戶必須能夠返回到ListView
。 因此,我正在使用Navigation
類並將頁面推入NavigationPage
,如下所示(綁定可以做得更好,但這只是讓Xamarin體會到):
private async Task Handle_ItemSelected(object sender, Xamarin.Forms.SelectedItemChangedEventArgs e)
{
if (_detail == null)
{
_detail = new Detail();
}
_detail.BindingContext = SelectedTrack;
await Navigation.PushAsync(new NavigationPage(_detail));
}
完成此操作后,“ 后退”按鈕MasterDetailPage
上方。
轉到ListView
的詳細信息頁面時,有什么方法可以刪除MasterDetailPage的“ burger”按鈕? 還是我當前使用的工作流程錯誤?
將您的詳細信息頁面設置為NavigationPage。
_masterDetailPage.Detail = new NavigationPage(page);
要么
MainPage = new MasterDetailPage
{
Master = new MyMasterPage(),
Detail = new NavigationPage(MyHomePage())
});
然后在詳細視圖中,可以通過以下方式導航到其他頁面:
await Navigation.PushAsync(new NavigationPage(_detail));
您會看到返回按鈕,而不是漢堡包。
看一下樣本 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.