ich das Acr.UserDialogs NuGet-Paket installiert haben und ich versuche, eine Eingabeaufforderung zu öffnen und auf das Ergebnis warten .. Ich habe mehr Möglichkeiten ausprobiert, aber nicht bekommen, es funktioniert.
Mein erster Versuch sah wie folgt aus und arbeitete zumindest manchmal:Wie für Ergebnis PromptAsync in Xamarin.Forms warten
bool validInput = false;
PromptResult pResult;
PromptConfig pConfig = new PromptConfig
{
Message = "Some message",
MaxLength = 10,
Placeholder = "Number...",
OnTextChanged = args =>
{
if (args.Value.Length < 1)
args.IsValid = false;
foreach (char c in args.Value)
{
if (!char.IsNumber(c))
{
args.IsValid = false;
break;
}
}
}
};
pResult = await UserDialogs.Instance.PromptAsync(pConfig);
if(pResult.Ok)
{
validInput = true;
}
if (validInput)
{
Navigation.PushAsync(new MenuPage()));
}
Aber manchmal ist die Aufforderung zeigt nicht auf und pResult.Ok ist sowieso wahr. Ich bekomme, dass ich natürlich warten muss, bis ich das Ergebnis habe ... aber wie?
Ich bin nicht vertraut mit Xamarin Formen, aber ich vermute, es kann ein Ereignis sein, auf 'PromptConfig' wie' schließt'ab und in diesem Fall, Sie können das Ergebnis vielleicht überprüfen. –
Es gibt ein OnAction-Ereignis auf PromptConfig. Zu verwenden, die ich ändern musste 'pResult = erwarten UserDialogs.Instance.PromptAsync (pConfig)' auf 'UserDialogs.Instance.Prompt (pConfig)' ... Das OnAction Ereignis sieht nun wie folgt 'OnAction = args => { if (args.Ok) Navigation.PushAsync (neue MenuPage()); } '. Aber die Eingabeaufforderung erscheint immernoch nur manchmal und in den Fällen, in denen sie nicht angezeigt wird, ist "args.Ok" in "OnAction" "wahr" ... Ich verstehe es nicht. Vielleicht sollte ich die Entwickler auf Git fragen – yiev
Übrigens ist PromptConfig auch eine Klasse von Acr.UserDialogs – yiev