ユーザーがサイドメニューから「ログアウト」をタップすると、起動画面にナビゲートしようとしているため、ナビゲーションを前のページに戻すことができません。 PushModalAsyncはこれに対応していますが、私のMasterDetailPageからやってもうまくいかないようです。PushModalAsync from MasterDetailPage、Xamarin Forms
Profile.cs
私が試してみました何public partial class Profile : MasterDetailPage
{
public List<MasterPageItem> menuList { get; set; }
public Profile()
{
InitializeComponent();
this.lblMessage.Text = Settings.Name + " " + Settings.Surname;
menuList = new List<MasterPageItem>();
var page1 = new MasterPageItem() { Title = "Home", Icon = "home.png", TargetType = typeof(Page1) };
var page2 = new MasterPageItem() { Title = "Cards", Icon = "card.png", TargetType = typeof(Cards) };
var page3 = new MasterPageItem() { Title = "Transactions", Icon = "settings.png", TargetType = typeof(Transactions) };
var page5 = new MasterPageItem() { Title = "Log out", Icon = "signout.png", TargetType = typeof(MainPage) };
menuList.Add(page1);
menuList.Add(page2);
menuList.Add(page3);
menuList.Add(page5);
navigationDrawerList.ItemsSource = menuList;
Detail = new NavigationPage((Page)Activator.CreateInstance(typeof(Page1)));
}
private void OnMenuItemSelected(object sender, SelectedItemChangedEventArgs e)
{
var item = (MasterPageItem)e.SelectedItem;
Type page = item.TargetType;
Detail = new NavigationPage((Page)Activator.CreateInstance(page));
IsPresented = false;
}
}
: を私は変数に代入しようとした:
var goToMainPage = Navigation.PushModalAsync(new MainPage());
その後、私はそれをしたい場所に追加する:
var page5 = new MasterPageItem() { Title = "Log out", Icon = "signout.png", TargetType = typeof(goToMainPage) };
- しかし、これは私の変数を認識しませんでした。
これを行う別の方法はありますか?ありがとう。
感謝を変更する必要があります。私はこれを試みたが、助けにはならなかった。 –
これをapp.csに追加するだけで、作業が完了しました。 NavigationPage.SetHasNavigationBar(MainPage、false); –