Ich versuche, zum Startbildschirm zu navigieren, wenn der Benutzer im Seitenmenü auf "Abmelden" klickt, daher kann er keine Navigation haben, um zur vorherigen Seite zurückzukehren. PushModalAsync nimmt dies auf, aber es funktioniert nicht von meiner MasterDetailPage aus.PushModalAsync von 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;
}
}
Was habe ich versucht: ich es auf eine Variable versucht zuweisen:
var goToMainPage = Navigation.PushModalAsync(new MainPage());
Zugabe es dann, wo ich es will:
var page5 = new MasterPageItem() { Title = "Log out", Icon = "signout.png", TargetType = typeof(goToMainPage) };
- Aber das hat meine Variable nicht erkannt.
Gibt es alternative Möglichkeiten, dies zu erreichen? Vielen Dank.
Dank ändern. Ich habe das versucht, aber hat nicht geholfen. Es zeigt immer noch die Navigationsleiste an –
Es funktioniert jetzt, indem Sie dies nur zu app.cs hinzufügen: NavigationPage.SetHasNavigationBar (MainPage, false); –