J'ai essayé ceci mais cela ne fonctionne pas
3 Réponses :
L'objet de la page modale est détruit une fois qu'il est apparu, vous pouvez donc utiliser cette solution de contournement, ce qui fonctionne car lorsque vous POPMODALASYNC (), il incendiera l'événement ONAPPARING () dans la page appelante (celle duquel à partir de laquelle vous avez présenté. la page modale). Donc, pour faire quelque chose après son retour d'une page modale, qui, dans votre cas, vous pouvez simplement présenter une autre page modale, vous pouvez:
public class NonModalCallingPage { private bool ReturnedFromModalPage = false; private async void YourButtonClickedToOpenFirstModal (object sender, EventArgs e) { ReturnedFromModalPage = false; await Navigation.PushModalAsync(new NavigationPage(new FirstModalPage())); ReturnedFromModalPage = true; } protected override async void OnAppearing() { base.OnAppearing(); if (ReturnedFromModalPage) { ReturnedFromModalPage = false; await Navigation.PushModalAsync(new SignUp()); } } }
Salut, merci pour la réponse, mais malheureusement, lorsque je passe à travers le code, l'événement ONAPPARING () ne se déclenche pas lorsque la page est sautée
Il tire pour moi et travaille si vous le souhaitez pour votre cas sur Android, iOS et UWP à l'aide de Xamarin.Forms version 4.2 - Quelle plate-forme et quelle version de formes Xamarin ne sont-elles pas capables de voir cela arriver?
C'est possible. Vous pouvez utiliser Définir un délégué dans PAGEA strong> et la méthode pour l'appeler: p> secondpage strong> lors de la page précédente invoquer Délégué code>
MAINPAGE CODE>: P>
public partial class SecondPage : ContentPage
{
// declare delegate also in second page
MyDelegate myDelegate;
public SecondPage(MyDelegate deleagteVoid)
{
InitializeComponent();
// assign delegate
this.myDelegate = deleagteVoid;
}
private async void Button_Clicked(object sender, EventArgs e)
{
// pop to previous page
await Navigation.PopModalAsync();
//invoke delegate method in MainPage
myDelegate(true);
}
}
Vous pouvez faire la navigation à l'aide de App.current.Mainpage.