J'essaie de naviguer vers l'écran de démarrage lorsque l'utilisateur appuie sur "Déconnexion" dans le menu latéral, il ne peut donc pas avoir la navigation pour revenir à la page précédente. PushModalAsync accepte cela mais le faire à partir de ma MasterDetailPage ne semble pas fonctionner.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;
}
}
Ce que j'ai essayé: je essayé de l'assigner à une variable:
var goToMainPage = Navigation.PushModalAsync(new MainPage());
puis en ajoutant à l'endroit où je veux:
var page5 = new MasterPageItem() { Title = "Log out", Icon = "signout.png", TargetType = typeof(goToMainPage) };
- Mais cela n'a pas reconnu ma variable.
Existe-t-il d'autres moyens d'y parvenir? Merci.
Merci. J'ai essayé cela mais n'a pas aidé. Il affiche toujours le tiroir de navigation –
Vous pouvez le faire maintenant en ajoutant simplement ceci à app.cs: NavigationPage.SetHasNavigationBar (MainPage, false); –