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

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

注銷后導航到登錄的 Xamarin 表單不起作用

注銷后導航到登錄的 Xamarin 表單不起作用

C#
素胚勾勒不出你 2022-10-23 13:35:14
因此LoginPage,我的 xamarin 表單中有一個,用戶可以通過打開漢堡菜單及其HomeMenuItems在我的ListView. 當用戶登錄時,我導航回主頁并LoginPage從導航堆棧中刪除:var nextPage = new HomePage();await this.Navigation.PushAsync(nextPage);Navigation.RemovePage(this);并更改漢堡導航以添加新的 HomeMenuItems,例如 MyPage 和 Logout,例如:var md = (MasterDetailPage)Application.Current.MainPage;var menu = (MenuPage)md.Master;menu.showmychildren();它可以工作,但是當我注銷時,每當我嘗試導航到時,我都會將漢堡菜單更改回“注銷版本”,LoginPage它會將我導航到 HomePage并且我不知道它為什么這樣做。從漢堡菜單導航到 LoginPage:public void hideall(){    InitializeComponent();    ucet_stack.IsVisible = false;    ucet.IsVisible = false;    photo_sack.IsVisible = false;    photo.IsVisible = false;    menuItems = new List<HomeMenuItem>    {        new HomeMenuItem {Id = MenuItemType.Home, Title="> HomePage" },        new HomeMenuItem {Id = MenuItemType.Login, Title="> Login" },         new HomeMenuItem {Id = MenuItemType.Sponsors, Title="> Sponsors" }    };    ListViewMenu.ItemsSource = menuItems;    ListViewMenu.SelectedItem = menuItems[0];    ListViewMenu.ItemSelected += async (sender, e) =>    {        if (e.SelectedItem == null)            return;        var id = (int)((HomeMenuItem)e.SelectedItem).Id;        await RootPage.NavigateFromMenu(id);    };}我打電話給:var md = (MasterDetailPage)Application.Current.MainPage;var menu = (MenuPage)md.Master;menu.hideall();注銷后。
查看完整描述

1 回答

?
小怪獸愛吃肉

TA貢獻1852條經驗 獲得超1個贊

根據你的描述,我給你一些建議:

1.removeInitializeComponent();無需再次調用該方法。

2.如果你想Navigating to LoginPage from hamburger menu在方法中hideall(),你可以嘗試改變項目的順序menuItems

menuItems = new List<HomeMenuItem>
 {
    new HomeMenuItem {Id = MenuItemType.Login, Title="> Login" }, 
    new HomeMenuItem {Id = MenuItemType.Home, Title="> HomePage" },    
    new HomeMenuItem {Id = MenuItemType.Sponsors, Title="> Sponsors" }
 };

將 Login 項作為數組中的第一個元素。重置ListViewMenu.ItemsSourceMasterPage,它將顯示 menuItems 中的第一頁。

3.通過問題和您的評論,我很困惑您的注銷按鈕在哪里?在主菜單中?在登錄頁面?

4.您在方法中導航頁面,ListViewMenu.ItemSelected我認為導航到哪個頁面取決于id,因此您可以在該行 添加一個斷點await RootPage.NavigateFromMenu(id);,然后檢查 SelectedItem 的 id 是否是MenuItemType.Login導航頁面時的類型。


查看完整回答
反對 回復 2022-10-23
  • 1 回答
  • 0 關注
  • 184 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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