簡體   English   中英

Xamarin中的MasterDetailPage和NavigationPage組合

[英]MasterDetailPage and NavigationPage combination within Xamarin

我正在創建一個Xamarin應用程序,我想在其中合並多個頁面, MasterDetailPageNavigationPage

MainPage包含MasterDetailPage ,所述的主MasterDetailPage包含的觀點的列表(自定義類,其存儲的信息,如類類型,圖像顯示和名稱),用戶可以觀看。 這些視圖都是ContentPage 單擊列表中的一項時, ContentPage將通過反射進行初始化,然后存儲在MasterDetailPage 目前,一切都按照Xamarin的建議進行。

但是這些ContentPages包含ListView

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上方。

NavigationPage的示例

轉到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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM