亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從一個內容頁面導航到另一個內容頁面時菜單消失

從一個內容頁面導航到另一個內容頁面時菜單消失

C#
元芳怎么了 2022-01-09 14:51:26
我正在構建一個 Xamarin 應用程序,它具有主詳細信息頁面布局,當我從另一個內容 aPage 導航到內容頁面時。菜單在內容頁面上消失。我有三個頁面:MasterDetailPage.xaml.cs、ListItemsPage.xaml.cs 和 DepositsPage.xaml.csMasterDetailPage.xaml.cs// Constructor.public MainPage(){    InitializeComponent();    Detail = new NavigationPage(new Login());    IsPresented = false;}//導航到名為 ListItemsPage.xaml.cs 的內容頁面OnMenuItemSelected(){    Detail = new NavigationPage((Page)Activator.CreateInstance(typeof(ListItemsPage));}單擊 ListItemsPage 上的列表項 → 它應該導航到另一個內容頁面 (Deposits.xaml),以下是我使用的代碼:Application.Current.MainPage = new NavigationPage(new DepositsPage());它導航到頁面,但缺少菜單。如果有人可以幫助我解決這個問題,我將非常感激,因為我在過去幾天一直在努力解決這個問題。
查看完整描述

2 回答

?
胡子哥哥

TA貢獻1825條經驗 獲得超6個贊

當您想要導航時使用 MasterDetailPage 導航但將菜單保留在側面時,您必須導航更改Detail部分,就像您在替換時所做的那樣Login,ListItemPage但是當您更改整個應用程序頁面時Application.Current.MainPage


我在上面的代碼中看到的其他內容是,您沒有指定Master應該保存菜單項的部分。


根據此處的 Xamarin 文檔,您應該以這種方式定義您的 MasterDetailsPage:


public MainPage()

{

    var menuPage = new MenuPage();

    Master = menuPage;

    Detail = new NavigationPage((Page)Activator.CreateInstance(typeof(ListItemsPage));


    menuPage.ListView.ItemSelected += OnMenuItemSelected

}


OnMenuItemSelected(object sender, SelectedItemChangedEventArgs e)

{

    var item = e.SelectedItem as MasterPageItem;

    if (item != null) {

        Detail = new NavigationPage ((Page)Activator.CreateInstance (item.TargetType));

        masterPage.listView.SelectedItem = null;

        IsPresented = false;

    }    

}

但是上面期望您的 MenuPage 將有一個 ListView ,其中每個項目都是一個菜單選項,其中包含顯示菜單選項和導航所需的所有信息。


public class MenuPage : ContentPage

{

    public ListView ListView { get { return listView; } }


    public MenuPage()

    {


        Icon = "hamburger.png";

        Title = "My great application";


        var masterPageItems = new List<MasterPageItem> ();

        masterPageItems.Add (new MasterPageItem {

        Title = "List Items",

        IconSource = "list_items.png",

        TargetType = typeof(ContactsPageCS)

        });

        masterPageItems.Add (new MasterPageItem {

        Title = "Deposit",

        IconSource = "deposit.png",

        TargetType = typeof(TodoListPageCS)

        });


        ..........

    }

}

如果您遵循此文檔,您應該會很好。如果仍然有疑問,請回到這里。


希望這可以幫助。-


查看完整回答
反對 回復 2022-01-09
?
森欄

TA貢獻1810條經驗 獲得超5個贊

我有同樣的問題,問題是標題不見了。

在內容頁面中添加標題后,一切都像魅力一樣......


查看完整回答
反對 回復 2022-01-09
  • 2 回答
  • 0 關注
  • 241 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號